Refactor root controller for local transactions
Refactor root controller for local transactions

As part of the work to log Postcode errors when users are trying to find
local transactions I've seperated the local transaction code out from
licence finding. This does add duplication, but it allows us to comment
the code to explain each state the User can reach.

alphagov/frontend,alphagov/frontend,alphagov/frontend,alphagov/frontend