Add shebang to update scripts and fix Xcode references
Rename GTReference `-type` to `-referenceType`

They were incorrectly converted to git object types. This is how rugged does it.
Make GTObject more classcluster-like.
Fixes after review.
Make `-target` saner

by making it return a GTObject if it's a direct reference or another GTReference if it's symbolic (a.k.a it does only one level of resolution) and `-resolvedTarget` & `-resolvedReference` which respectively return the GTObject behind a chain of reference, or the last direct reference in a chain.
This one can be pretty-printed.
Rename `-target` so the compiler complains.
Code conventions
Remove unused reference type.
Add methods to enumerate a GTTree.

Also adds `-contents` for quick access.
Log the error if the enumeration fails.
Add private methods to get a GTTreeEntry underlying object type

Also use that in `-description`.
Implement GTTreeEntry equality.
Make `-contents` not recursive.
Provide the correct parent to GTTreeEntry initializer.
Tests for `-contents`.
Document those.
Return a BOOL instead of the libgit2 error code.
Document the enumeration block return type.
Use `-stringByAppendingPathComponent:` here