Commit List SHA Offset/Pagination
### Description
Currently you can paginate with `offset` query parameter but this doesn't stand the test of time(not a permalink) and isn't that useful for finding where a commit lands in the overall list.
https://gitlab.com/gitlab-org/gitlab-ce/commits/master?offset=1000
### Proposal
Make the offset query parameter(or new parameter) accept a commit sha.
```
https://gitlab.com/gitlab-org/gitlab-ce/commits/master?offset=78874519db2ca2f18a2fbca5fe070292e521d0c1
```
Would be neat to accept the [git revision selection syntax](https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection) with relative `sha~X`
Semantic web :tada:
### Links / references
- See [here for the current `offset` implemenation](https://gitlab.com/gitlab-org/gitlab-ce/blob/58131ac93c2a7c784c8c4f9025ef250eac4e1fa1/app/controllers/projects/commits_controller.rb#L11) which uses [`gitlabhq/gitlabhq -> Repository.find_commits_by_message`](http://www.rubydoc.info/github/gitlabhq/gitlabhq/Repository)
- Slightly related to https://gitlab.com/gitlab-org/gitlab-ce/issues/20323
issue