Talk to rummager via delayed job

Both Searchable#update_in_search_index, and Searchable#remove_from_search_index now create a delayed job worker to actually communicate with rummager.
Add Searchable#reindex_all for job based reindexing of all instances

This is different to Searchable#search_index, which provides a similar function.

* reindex_all creates a job for each instance suitable for searching, asking it to add itself to the Rummager index
* search_index returns an enumerator that yields the search_index hash of every instance suitable for searching.  It does not communicate with Rummager directly, but the enumerator returned can be used as the first param to Rummageable.index.
Add without_delay! helper for tests to make delayed job be synchronous

It's included in tests by default, and is enabled on cucumber scenarios tagged with @without-delay or @not-quite-as-fake-search (because wanting a real-ish search implies we need to send things to rummager properly).
Searchable#reindex_all rejects at the instance level, not class

This allows us to to Edition.reindex_all because Edition is not a searchable_class, but all the concrete edition subtypes are.  Also we have tests that prove that reindex_all will respect chained scopes (so we can do something more useful like: Edition.published.reindex_all).
Make reindexing all related editions for a policy a delayed process

It was still too slow in a single request/response cycle to create all the jobs for a policy with large numbers of related content, so we make that part of the process a job on it's own.
Add a queue name to the rummager jobs

This should mean we can spin up separate workers for these jobs if we need to.
Less ridiculous queue name
Fix failing integration test
Use searchable_instances over searchable_options[:only].call
Allow speeches to have a person override for non IG people

This allows editors to type in a person who isn't on IG, and skips
edition role appointment validations.

The feature is persent when the checkbox controlling the display of the
override box is checked, the value of the speaker is cleared when
unchecked.

Limitations: They are not people so non of the fuctionality associated
to people exisit, images, search indexing, their own pages etc.
Add in fontend test for person_override on speech
admin controller speeches tests for person_override

Move speech type outside of the loop and add in missing details to the
person_override section
Speech unit tests

Also fix search_index on speech for person_override
Method provided by AR
Add back missing break tag
refactor _speech_details parital
Clear the role_appointment_id in the controller and fix label
Only allow non migration types for publications
Only allow non migration types for news articles
Correct date range for role appointments

According to the style guide
(https://www.gov.uk/designprinciples/styleguide#dates-and-times), date
ranges should use 'to' and not an en-dash.