List consular services by country.

Provides an alphabetical index of countries and their british consular
services including alternatives where no services are offered in that
country.
Fix consular service offices with the wrong office type
Admin benchmarking tests for main edition types

Increase the number of runs to increase accuracy of benchmark.
Enable memcache in production and benchmark env
Caching for topic selects
Caching for topical event selects
Remove bogus code.

the "alternative_format_required" local was only ever set to true in
another partial completely. Instead of passing this into the helper, we
can ask the object itself if it requires an alternative format provider
or not.
Cache topics and topical events form fields

If there are no selected values, the HTML output for these select inputs
will not change unless the data containers themselves have changed, i.e.
the cache digest has changed. Therefor we are able to fragment-cache
the generated HTML for this case.
Update API adapters.

So that we get partial matching for panopticon request body in the test
stubs.
Send updates to search after changing the topics

Also update tests to check that the correct topics are being sent to
panopticon after they're changed.
Move topic retagger test to integration directory

It's not a unit test, so it shouldn't live under test/unit
Merge pull request #1711 from alphagov/register-topic-changes-with-search

Register topic changes with search
Add Organisation#has_child_organisation? method.
Add cached containers for organisations
Add caching edition organisation select fields

This also pulls out the generation of the selects from the form builder
helpers to plain-old vanilla form helpers. I hope to simplfy these and
the code in the controllers to pre-load the organisation join models
in the controllers in a later commit
Simplify EditionsController

Because of the way the form fields are now rendered, we no longer need
to pre-build all the join models ahead of time in the controller action.
Consolidate EditionOrganisation filters for :new

Why have two filters when you can have one?
More before_filter simplications

Instead of duplicating the before_filter across multiple controllers,
we can include it in the base class and only execute it if appropriate,
i.e. when the edition type supports images
Simplify and rename helper method

The new name better reflect what the method is returning. The method was
also over-complicated:

* It had a boolean flag switching whether it returned a link or just
plain text, but there is nowhere in the app that uses it to generate a
link.
* No `current?` role appointment will ever have an ended_at timestamp,
so the ternary operator check is redundant.
* There is no HTML in the text, so marking it html_safe is unnecessary.
Typos and omissions