A basic Branch type (subtype of Reference)
Implement Repository.lookup_branch. Constants for local and remote branches.
Implement Repository.listall_branches.
Implement Repository.create_branch.
Implement Branch.delete.
Implement Branch.is_head.
Implement Branch.rename.
Implement Branch.branch_name.
Implement Branch.remote_name.
Implement Branch.upstream getter and setter.

Thanks to @cholin for the help!
Implement Branch.upstream_name getter.
Merge pull request #221 from drodriguez/branches

added additional branch support

* Branch.upstream getter and setter
* Branch.upstream_name getter.
Added: Reference.get_object() method

get_object() retrieves the object the current reference is pointing to
Merge pull request #247 from cholin/features/reference_get_object

Added: Reference.get_object() method
Fixed: typo in repository.c
Add Remote.save method.
Documentation for Branch type and Branch-related methods.
Documentation for Remote.save.
Merge remote-tracking branch 'drodriguez/remote-save'
Added note about pygit2/libgit2 versioning