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.
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
Ensure UrlMaker can be found during lookup

We get occasional uninitialized constant exceptions because the
Whitehall::UrlMaker class cannot be found. This adds the class to its
parent module such that it can be found regardless of the execution path
of the code. See http://urbanautomaton.com/blog/2013/08/27/rails-autoloading-hell/
for more details about constant lookup and Rails autoload.
Add note of explanation for future-developer

The way that associated lead organisations and supporting organisations
are managed is far from ideal; instead of explicit and simple
associations for each, there is a single "organisations" association,
and various hacky methods are used to massage lead and supporting orgs
into this single association whilst maintaining an order (See the
Edition::Organisations mixin and the
:delete_absent_edition_organisations before_filter on
Admin::EditionsController for a sense of the gynmastics being
performed).

Because of this, we can't rely on the conventional rails way of
accessing unsaved lead and supporting organisations in the forms, we
must instead go through the unsaved join models. These helpers
encapsulate that lookup.
Merge pull request #1713 from alphagov/autoload-url-maker

Ensure UrlMaker can be found during lookup
Remove the attachment text extraction feature

This feature is currently implemented by hooking into the virus-scanning
process to do the actual text extraction. As well as significantly
slowing down the virus scanning process, this has caused issues where
tika gets wedged, and then blocks the entire virus scanning queue.

Until we have the time to implement this feature properly, the benefit
it provides to our search index isn't worth the operational pain it's
causing us. This PR therefore removes the feature (while leaving it in
place for HTML attachments because they don't have the same external
processing requirements - we just run the body through Govspeak).
Merge pull request #1716 from alphagov/kill-text-extraction

Remove the attachment text extraction feature.
Remove old topics from top nav.
Remove old topics from organisation homepage.