POST documents implementation

Many refactor
Remove junk params added by Sinatra
Make ES repository massage criteria into ES query

Also add specs for the ElasticSearchRepository and the FindCase service.
Flesh out filtering features

Includes updating the fixture data to be more usefully varied.
Map the criteria hash to ES query terms
Support filtering by multiple values for one field

Eg being able to get all documents that have a case type of "merger" OR
"cartel". To do this we've swapped from using a bool query to a filter
query. Apparently this is also way better for caching.
Date filtering with multiple values
Update specs for use of filter
Replace POST with PUT
Change the PUT parameter to 'document'