Add an elasticsearch query builder

Noah is using this for a feature he's working on and it seems relatively stable now, so I figure it's a good time to merge it in.  Happy to get feedback on it and iterate.  Includes tests.

The es_query file includes some documentation on usage, and you can see it in action by looking at tests.py.
I believe that because `default_filters` is a class variable, removing a default filter from one instance of a query will remove it from *all* instances of a query, resulting in unexpected behavior.