Take 2 on polymorphism
Add @carlosmn's tests
Ok, now with shared base object
Add String() Method to ObjectType
Give gitObject.Free a pointer-receiver

This is needed to get runtime.SetFinalizer to work, which
expects a pointer-receiver. Without it the runtime will crash, when it
tries to garbage-collect an object.
Merge pull request #15 from Merovius/objtype

Add String() Method to ObjectType
Merge pull request #16 from Merovius/pointerrecv

Give gitObject.Free a pointer-receiver
Use ObjectType in TreeEntry
Merge pull request #18 from Merovius/objecttype

Use ObjectType in TreeEntry
Catch nil error instances

Unfortunately libgit2 sometimes returns an error without setting an
error message. Provide an alternative message instead of trying to
dereference nil.
Implement git_odb_foreach
Implement ShortenOids
Implement Parent()-functions for Commits
Implement a reference iterator

Wrap the reference iterators, and provide a Iter() function to get
them through a channel.
Allow aborting the pack writing operation

In case of an error in the writer, the packbuilder will stay around
waiting for someone to read from its channel. The state associated
with a packbuilder is non-trivial and it will keep a reference to the
object, so the GC won't be able to free it.

Change the ForEach interface to also return a "stop" channel. Closing
the channel or writing into it will cause the first receive clause to
act, making the callback to return -1, aborting the operation and
ending the goroutine, freeing its hold on the packbuilder.
Add nil for optional parameters for pack_write

The git_packbuilder_write function now takes
two optional arguments used for information
callbacks.  These are currently not needed
in the Go wrapper.
Merge pull request #27 from Merovius/odb_foreach

Implement git_odb_foreach
Merge pull request #28 from Merovius/shorten

Implement ShortenOids
Merge pull request #29 from Merovius/parent

Implement Parent()-functions for Commits
Merge pull request #31 from crosbymichael/master

Add nil for optional arguments to git_packbuilder_write