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.
Just added a commit moving that check to this class's constructor and a small test verifying that it raises correctly.