Adding Tire for searching

Basic first pass at getting something working just speeches atm

Need to apply search terms and filters

Need to specify index for STI but this then ignores the name prefix

The interface for the presenters, decorators dont quite align nicely
with the new search object
Fix before after date range sorting
direction is set in the controller by default
Fix pagenation as the simple dsl isn't working

Also set default date
Topic and org filtering
Moving mappings down to sub classes fixes to_indexed_json

to_indexed_json was just causing no end of issues, use the mappings
block and move to each subclass.

Index with:

`bundle exec rake environment tire:import CLASS='Announcement'`

Issue: Can't get the mapping to properly update with STI, only one
subclass seems to be reporting the analyzer properly in the index meta
data
remove unused method and test
Move code out of search module into helper for forms
Simplifyed the expire_on_next_scheduled_publication call

expiring the cache on next publication regardless of the filter, we can
implement the same logic if this is really needed
prepairing for making this more general
Filter by person and announcement type
dont use the dynamic mapper

todo: move index generation outside
Move mapping creation into a rake task

This is so that it is correctly created, otherwise ES guesses the
mappings when indexing docs and the other classes are not analysed
properly when searching

bundle exec rake search:build
View all announcements link to filter by person
Rename AnnouncementSearch to DocumentSearch
move tire settings to edition from announcements
Index publications
publications search controller
Provide default filters for publication type
Use seperate indexes for publication and announcement

as filtering by multiple types proved tricky, might be possible with
boolean quieries or multisearch.

Also move mapping blocks after validations

Add a rake task search:setup which creates the index and also imports
the models