Remove lots of hardcoded URLs

This also gets rid of some special case tests that were testing the
difference between the public and admin hosts on preview and production.
As we are now solely depending on the truth as told by Plek, we don't
need to have separate tests for preview and production in most cases.
Rework public_document_url to rely on env

No more switching the public host based on the incoming request.
Unstick GovspeakHelper

Way too much coupling to other helper files and the request context
here. These helpers should function independantly of any controller
context or request objects.
Kill off Whitehall.public_hosts and other helpers

Final piece of the puzzle: we no longer need to map incoming request
hosts to public hosts - the public host is always the same and always
derived from the env.
Remove public_host helper

No need for this anymore - the API presenters are only ever used in a
front-end context so they should get the correct host via the existing
ENV.
Rename Whitehall.asset_host for consistency
No needless PublicDocumentRoutesHelper include

In most cases, we don't need to include the PublicDocumentRoutesHelper
or the Admin::EditionRoutesHelper into our tests, and definitely not
into our controller tests. Including them can cause inconsistencies in
URL generation. If you really need to access methods defined in them
outside of the context of an application controller or other helper
modules, they can be got at via Whitehall.url_maker.
Get rid of more unnecessary request futzing