List Commits on a Repository

- [x] List Commits on a Repository
  - [x] [Add method to get all commits for a repository](http://developer.github.com/v3/repos/commits/#list-commits-on-a-repository)
  - [x] [Add method(s) to get commits for a repository based on parameters](https://developer.github.com/v3/repos/commits/#parameters)
- [x] [Add method to get a single Commit](http://developer.github.com/v3/repos/commits/#get-a-single-commit)

Added the logic for getting all commits for a repository including unit tests and XML docs for Issue #333.

Still need to implement getting the list based on parameters.  I saw two different implementations in the existing clients.  In some places, the implementation is to postfix the parameter to the method name as in `ReferencesClient.GetAllForSubNamespace(string owner, string name, string subNamespace)`. While in another section, the implementation is to accept a `RequestParameters` object as the final argument as in `PullRequestsClient.GetForRepository(string owner, string name, PullRequestRequest request)`.

Is there a preference to how I implement that portion @shiftkey / @haacked?
Might as well refactor this to tidy it up a bit now you're referencing it above...