Add support for "content" attribute at tree creation

The GitHub API supports a "content" attribute when creating a new tree
[1], which allows to skip additional requests to create blobs first.

[1]: https://developer.github.com/v3/git/trees/#create-a-tree
Fix CreateCommit

The input and response types for commit messages differ in the API.
While commit.Tree and commit.Parents are objects with fields when
returned by the GitHub API, the attributes are plain strings when
creating new commits.

See: https://developer.github.com/v3/git/commits/#create-a-commit
Merge branch 'fix-git-create-commit'