Add missing index to organisation_translations

We sort by name, which was also incorrectly defined as a text column.
Adjust eager loading on OrganisationsController

We were unnecessarily eager-loading the child orgs and their types
and also failing to eager load the organisation translations.
No longer need to guard against no exec offices
Memoize Organisation#agencies_and_public_bodies

This was the root cause of many of the exessive queries on
organisations#index. We can't just memoize the scope, otherwise calls
to any?, size, etc, will always generate a query. I did have a version
that turned this method into an association, but this is more
efficient for our purposes.
Add more missing indexes
Optimise queries on minsterial_roles#index

The main win is by bypassing Whitehall::Controllers::RolesPresenters
and preloading the roles and current people for the ministerial
organisations. This reduces the number of queries from 100+ to less
than 50. We then use `with_translations` instead of
`includes(:translations)`, which does a better job of eager loading.
Make test more robust.
Use rummager if ENV['RUMMAGER_HOST'] is set.

Makes it easier to test rummager in development.
Add more indexes

Because MySQL can't use more than one index, it pays to have composit
ones for some queries
Optimise loading Organisations with published editions

The previous join/group method was resulting in queries that took
over a second to run.
Optimise WorldLocation.with_announcements/publications

Once again, the join/distinct was resulting in a really inefficient
query.
Don't preload publication attachments/responses

This doesn't actually speed up the /government/publications page.
Counter cache for document series association

We have to tweak the PublicationesquePresenter test slightly to work
with the slightly different association behaviour that counter caching
causes