Delegation of methods

This is a backward-incompatible change that removes the need to specify navigational elements when resolving properties. Things like `links` are renamed as `_links` and `embed` renamed as `_embed`, which is what they are called in HAL. Here're a few examples of what you can do with this change.

Instead Of | Write This
------------- | -------------
`api._links.posts_categories` | `api.posts_categories` 
`api.links.posts.embedded.posts.first` | `api.posts.first`
`api._links.post._expand(id: 3).first` | `api.post(id: 3).first`

I think this goes a long way into making clients really productive with an API and abstract away the fact that the API is a HAL one. This also opens the door to implementing other JSON format support without needing to rewrite client code, because navigational elements are something specific to HAL.