Added function to return current branch
Added code to handle generating a graph of git repo.

This code was largely ported from AcGit.

Sha.cpp:
 * Changes to make sure that the == operator does not crash when a git_oid
is null.
 * When sha is null return a string of "0" also was causing a crash to occur

Other files:
  * Adding implementation for graphing of git repo.

Note loading does take a lot long this will have to be rectified in a later
commit.
BUG: Verify that the rawTag is acutally valid before using it.

A crash was occurring when looking up a tag from a sha. This is
because not all tags have a git_tag pointer that is valid. The reason
for this is the tag is not fully instantiated and thus the underlying
library does not create a git_tag for it.