Flesh out finding cases
POST new cases feature
POST documents implementation

Many refactor
Suppress output from curl

system passes STDOUT filehandle to its child process
More robust config handling in tests
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'
Merge pull request #9 from alphagov/filtering-and-publishing

Filtering and publishing

https://www.pivotaltracker.com/story/show/67303298
https://www.pivotaltracker.com/story/show/67303328