874286 query parser

This updates pyelasticsearch to 0.5, elasticutils to 0.7.dev (master tip) and adds a query parser that handles:

* text
* "text"
* text AND text
* text OR text

It converts that into trees of bool queries, match queries and match_phrase queries.

I left out fuzzy queries because while they're good for typos, they bring in too many other things for short words. Cheng mentioned that being a point of frustration.

This was implemented as a recursive descent parser. While this isn't a prefix-heavy grammar, the expressions are pretty small, so I think the performance penalties for an RDP aren't that big a deal.

r?