Attempt to simplify fetch_artefact by breaking out a few methods
Move logic for fetching artefact out into new class

There were a lot of methods cluttering the ApplicationController that were solely
about fetching and verifying a new artefact. The code becomes simpler if we pull
that out as a separate class.
Change signature of fetch_artefact to take a slug and edition

It was odd to have this method take some arguments explicitly and some implicitly
(via the params hash). It feels much cleaner to just pass them all in here. This
also makes the method a simple wrapper around the ArtefactRetriever class.
Pass logger and statsd into ArtefactRetriever
Move two exceptions that are specific to retrieving artefacts

Since these exceptions are specific to artefact retrieval they can live within
the relevant class.
Reformat for line length
Allow artefact format of custom-application so this can work for travel advice
Migrate travel advice index to use fetch_artefact method
Migrate travel advice index to use fetch_artefact method
Initial test coverage for ArtefactRetriever
Merge branch 'master' into refactor-artefact-fetching

Conflicts:
	app/controllers/application_controller.rb
	app/controllers/travel_advice_controller.rb
Merge pull request #285 from alphagov/refactor-artefact-fetching

Refactor artefact fetching