API tweaks

Initial work on API and looking at indexes for query patterns.
Instead of handling an exception do you think it might make sense to to a try chain? 

```ruby
allowed = client.try(:allowed_grants).try(:include?, params[:grant_type])
```

I'm 100% sure that's better though.