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).