PullRequest.commits returns generator of RepoCommits

Related: #253 

Return a generator of `RepoCommit`s instead of `Commit`s as this matches the API structure better and will allow the caller to retrieve the message using `commit.commit.message`

Left the `last_modified` field alone since that seems to be based in the headers and belong to the top level of a json structure.

Updated tests and docs.