Add method to create a new lightweight tag.
Merge remote-tracking branch 'refs/remotes/upstream/master' into lightweight_tag

Conflicts:
	Classes/GTTag.h
Move methods to create new tags to GTRepository and call them from the GTTag class methods.
Remove class methods to create new tags from GTTag and update unit tests.
Whitespace fixes.
Fix doc indentation.
Move test cases from GTTagTest to GTRepositorySpec and move to expect() syntax.
Get the SHA from the unresolved target otherwise we'll crash later.
Add accessor for orphaned HEAD.
Clarify documentation on `isHeadDetached`.
Use `git_repository_head` instead of going through GTReference.

This is equivalent, but has a special error code for orphaned HEADs.
Merge branch 'master' into lightweight_tag

Conflicts:
	Classes/GTTag.m
	ObjectiveGitTests/GTTagTest.m
Use uppercase SHA and OID names
Merge branch 'master' into stuff
Add private `-lookupByGitOid:` to GTRepository.
Fix error code/domain when initing GTRepository with bad URL

Previous error used a code from kCFErrorDomainCFNetwork, but constructed
the error in NSCocoaErrorDomain.
Add method to initialize bare repositories

Also report an error if the passed URL is bad.
Add test for init bare repository
Better solution to getting the appropriate branch SHA.
Back to id.