Continue working on Repository to match Rugged

* Add Error Struct mapping
* Add GitObjects (Blob, Commit, Tree, Tag)
* Make GitException a bit better.
* Fix oid comparisons
* Fix minor issues in Repository and add more of the API calls
* Start adding tests against the test repository
* Fix TestRepo to work