Add ability to read raw file/directory contents

When using the existing branch.read() method to read a directory, it
unsuccessfully attempts to return the directory as a blob.

Using the the contents API
(http://developer.github.com/v3/repos/contents/) we can provide a method
for retrieving raw contents of a file or directory.
Add convenience method for creating a new branch

Provides a simple interface for creating a new branch from the current
reference.
Merge branch 'feature/get-contents'