Ensure we only deal with elasticsearch indexes

I was trying to create the indexes on preview but the task failed
because we have both solr and elasticsearch backends on preview.  The
`rummager_environment` task was only ignoring backends that had a type
of 'none' which meant we were trying to instantiate an
`ElasticsearchAdminWrapper` for the solr backend.
Don't claim browse routes

These are moving to frontend
Fix single-quoting on an interpolated string.
Fix an error on browse pages.

The sorting on browse pages is falling over with the new
elasticsearch-based results. Rather than fix this, we're just removing
it, since it'll be replaced imminently by the frontend browse pages.
Fix display of popular items with filthy hackery.

Again, since this is being replaced very soon with frontend browse
pages, it's not worth the time it would take to fix it properly.
Remove browse views

These are now entirely provided by frontend
Remove slimmer, gds-api-adapters and sinatra-content-for

None of these are needed now we don't provide browse (or any other HTML)
All requests return JSON

So we don't need to set content_type in every action
Remove remnants of slimmer
Bring back Section

A little too hastily removed.
Remove helpers only used in HTML version
Merge pull request #31 from alphagov/remove-browse-routes

Don't claim browse routes
Group tests into separate rake tasks - units, functional & integration.

I was seeing an intermittent Nokogiri segmentation fault when running
the tests locally. With all the tests run in a single rake task it was
really hard to see what was going on. In particular it feels weird that
we would load all the integration-related stuff when only running the
unit tests, especially as it seems as if the unit tests were running
*after* the other tests.
Make dependency on `ElasticsearchAdminWrapper` explicit.

This class is used within `IntegrationTest`, but there is no
corresponding require statement. The tests were all passing by chance,
because an individual test was requiring the relevant file before the
class was first used, but without this extra require it was impossible
to run some of the tests individually e.g. `ElasticsearchBrowsingTest`.
Rename the development index to 'mainstream'.

This was inconsistent between development and preview/production: let's
fix that.
Allow the use of a "subsubsection" key.

This is needed for detailed guidance in order to e.g. show individual
breadcrumbs alongside search results.

While it would have been nicer and more "scalable" to combine the
"section", "subsection" & "subsubsection" keys into a single key with
e.g. an array of values, this would require significant changes in many
places. The solution in this commit seems like the most consistent and
least worst option for the moment.
Remove some dead test helper code
Merge pull request #32 from alphagov/remove-browse-views

Remove browse views
Merge pull request #33 from alphagov/sub-sub-section

Allow the use of a "subsubsection" key.
Add ElasticSearchWrapper#all_documents

This is the missing piece that was breaking the sitemap. This may or may
not be the right home for the sitemap but for now it seems best to get
the old approach working again before we work out how it should really
work.