add support for setting commit status on a repo

It's for external validation systems that work per-commit/pull-request, like continous integration systems.
See <https://developer.github.com/v3/repos/statuses/>.