Refactor query internals, so it's possible to apply e.g. q.filter_term() more than once
Allow passing in an alternate query subclass to client.query()
Make the @generative method decorator public
Add tox configuration for tests
Add missing dependencies to setup.py
Add __getitem__ to ElasticResultRecord
Restructure query implementation a bit more to add a @filters decorator
Add a client.index_document() method to index a raw document without an object implementing the ElasticMixin
Allow passing a  kwarg to query.execute() or client.search(), to limit returned records to just particular document fields
Return result records as a DotDict
Add a repr() for DotDict
Make ElasticResultRecord's repr() work even when result does not have a score, like from .get() ops
Handle nested lists in DotDict() recursive creation
Make match_all_query() and text_query() static methods so they can be overridden in a query subclass for different searching behavior
Get rid of weird QueryWrapper() class, but replace it with a trivial dict subclass confined to a particular location for metadata-passing convenience (temporary hopefully)
Remove dead statement
Add pyflakes and pep8 checks to tox configuration