Tidy up RootController and related naming/code

The RootController -- in particular RootController#publication -- was enormously complex. Building on work in https://github.com/alphagov/frontend/pull/285 https://github.com/alphagov/frontend/pull/286 and https://github.com/alphagov/frontend/pull/287 I've been trying to simplify it. 

So far this includes making some language more consistent, reducing the number of conditionals a little and reducing duplication. There's still the potential for further refactoring around how we handle location-based formats such as local transactions and licences. For now I wanted to get this out for review and discussion rather than push it too far in isolation.

What do others think? Right direction? Merge now or do more work?