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.
Add class method to check for valid reference names.
Implement objectByPeelingTagError: to peel a tag object.
Add objectByPeelingToType:error: to GTObject using git_object_peel.
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.
Change return type to id
Change < to !=
Change return type to id.
Change < to !=
Remove whitespace.
Add tests.