Support id based repo endpoints

Add support for using repository IDs instead of `:owner/:name` for relevant methods.

```ruby
Octokit.repo 417862
=> {:id=>417862, :name=>"octokit.rb"...}
```

cc: @bryanbraun Mind giving this a try?

#483
`return` guard statements are great when the logic that follows is complex. In this case, what about:

```ruby
case user
when String
  "users/#{user}"
when Integer
  "user/#{user}"
else
  "user"
end
```