Refactor GTEnumerator, add globbing support

High level changes:

 * `-push:error:` is now `-pushSHA:error:`
 * `-skipCommitWithHash:error:` is now `-hideSHA:error:`
 * `-countFromSha:error:` is now `-countRemainingObjects:error:`, and does not automatically reset the enumerator (or override the existing sort options)
 * `GTEnumerator.repository` is now `weak`, and not assignable
 * `options` is no longer assignable, and must now be set using `-resetWithOptions:`
 * Refactored the `GTEnumerator` unit tests to use Specta/Expecta, except where they were redundant or unnecessarily testing libgit2 functionality
 * "Contants.h" was really bothering me, so I moved everything there into `GHTestCase` (as-is for now)
 * Added `-pushGlob:error:` and `-hideGlob:error:`