Feature/remove chassis

I already see this implementation in some blog post but I don't understand the goal.

You have a query method that take a class, and an object with parameters. Instead of separate the request to this query object we are deserializing it and call a method to the current adapter. I don't understand why starting to extract the parameters to a separate object if we are going to polluting the memory object. 

My proposition is to do the inverse:

```ruby
query User, :user_with_oauth_token, oauth_token
```

and in your in memory object:

```ruby
def query(base_class, query_name, *parameters)
  find_query_class(query_name).new(self, base_class).query(*parameters)
end
```

and the query object:

```ruby
class UserWithOauthToken < Struct.new(:adapter, :klass)
  def query(oauth_token)
    adapter.all(klass).find { |user| user.accounts.map(&:oauth_token).include? oauth_token }
  end
end
```