Clean up routing-related helper use in tests

Lots of unnecessary includes and overrides of things like the default
host. This simplifies things a great deal. It also stops defining
routes in a factory file, which is not the place for it.
Tidy up topics functional/acceptance tests

I've made an attempt to pair down and simplify the testing around the
management of topics as there was (IMHO) excessive and brittle
functional testing here. We are still to have a wider team discussion
around testing and the approach we take, but my focus here has been to
end up with a core set of functional tests that give us broad
confidence that are controller code is doing what we expect without
excessively testing every last detail. To really tidy things up, we'd
ultimately have to move much of the logic out of the controller itself
(perhaps moving things to a separately testable presenter), but for
now, I've done the following:

* Reduced the specifity of selectors when testing content on views to
make them less brittle
* Avoid testing behaviour that is covered adequately elsewhere
(e.g. cache control behaviour, scopes loading correct things, etc.)
* Avoid testing behaviour that is unlikely to break.
* Stick as much as possible to the happy path, especially in cucumber
scenarios