Features in Other
Allow QGitCommit to pass as QGitObject
Implements the relationship "a Commit *is* an Object".
QGitCommit inherits from QGitObject, in the same way that git_commit
conceptually inherits from git_object in C.
Because QGitObject stores a pointer to a git_object, reinterpret_cast
is needed to convert between the two.
A function is added to turn a QGitObject into a QGitCommit, if the
object is a commit, otherwise a null object is returned (analog to