Submissions by form

First commit adds faceting capabilities to ESQuery ( @emord  fyi).  Second commit switches Submissions By Form to use one faceted query per form (which is then memoized).  The old version performed a separate couch query per each form per each user.  This was causing timeouts on the request.
http://manage.dimagi.com/default.asp?130842#737425
I personally like avoiding backslashes by wrapping the whole thing in parens, but maybe others disagree / not a big deal

```python
query = (FormES()
         .domain(self.domain)
         .xmlns(xmlns)
         .size(0)
         .user_facet())
```