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)
Using `attr_reader` hides the implementation details from the methods that call it. Say we change our minds about how we want to implement this, and rather than passing schema mappings into initialize we want to grab the mappings from some global. If we've hidden the implementation details of `schema_mappings` using an `attr_reader` generated method then we just need to define our own version of that method and everything else continues to work as it should.

```ruby
private
  def schema_mappings
    Rummager.schema_mappings
  end
```