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
Whitespace
Merge pull request #479 from alphagov/rummage-later

Tracker: https://www.pivotaltracker.com/story/show/48395245

Rummage later. Merged with minor whitespace tweak.