Date filtering

Implements date range filtering for unified search. Done in the form of:

`filter_opening_date=from:2013-01-01,to:2013-03-31`

Ticket: https://trello.com/c/4iReFd0W/293-rummager-add-support-for-date-filtering-1

Also extends the behaviour of `ALLOWED_FILTER_FIELDS` to allow filtering by any field in the document type schema.

### TODO

- [ ] Add tests to cover each of the scenarios in the linked ticket (only `from` or `to` provided, rejection of multiple parameters)
This code is a bit ugly, but I don't have a suggestion for fixing it. (sorry)

The ugly is that a switch based on object type smells very like this should really be done by a method on the filter object.

On the other hand, the filter object is just the result of parsing parameters, so this approach is fine because we don't want the filter object to have to know about elasticsearch gubbins.  If there's a standard rubyish pattern for handling this, I'd love to hear of it.  If not, this isn't a blocker to merging.