Decouple Hyperlink from services

Services shouldn't care what URL is passed in. After decoupling `Hyperlink` from resource, the services interfaces are more compact, e.g.:

```go
// build url
client.Users(url).Get()
```

The usage in `gh` is much cleaner with these changes: https://github.com/jingweno/gh/pull/96