Change term filter into match query

Another approach to issue #73, using the idea suggested in #77: instead of using a `filter` with exact `term`s, the approach is now to use a `match` query. This way fields by default are still analyzed when indexed (unlike in #88), but now queries are analyzed too. Search on any field that is not set to be `not_analyzed` in the mapping will do a case-insensitive full text search:
`search?myfield=Alice` *will* return annotations with myfield value `alice`
`search?myfield=bla` *will* return annotations with myfield value `bla bla`

(by the way, ignore the changes in `annotation.py`, they're just adaptation to the new query structure (although being more code than the main change))