Add first-pass result set presenter class.
Replace RABL with presenters for search results.

Still needs a few tests on the search result presenter, and some
cleaning up on the URL helpers, but it works.
Add tests for the search result presenter.
Test the new URL helper class.
Remove the custom RABL error views.

There's so little information in them as they stand that it's easy to
reproduce them in straight Ruby.

As part of this, make the error response format more consistent: we were
previously using the "status" field both for short status names and for
longer-form error messages. Now we consistently have "status" for the
short status and "status_message" for longer errors.
Replace local authorities RABL with a presenter.
Reinstate description on local authority results.
Replace the single local authority RABL template.

We can't remove the `_local_authority` partial just yet, because it's used by
the artefact fields partial when the artefact has a LocalTransactionEdition.
Replace tag-listing functionality.

This results in a fair bit of duplicationg between the new URLHelper object
and the old URLHelpers module; we can remove that once we've removed the _tag
template from RABL.
Display null parent field if tag has no parent.

This was the behaviour of the API before de-RABLing; if we do change it, we
should do it deliberately.
Replace the single tag view with a de-RABLed one.
De-RABLify the artefact list.

As part of this, I had to add an extra (optional) parameter to the URLHelper
class to supply a Plek instance to look up apps. In development, we link to
the individual apps' rendering pages, so we don't have to spool up a router on
development machines, so we need to look up the URL for an artefact's
rendering app.
Make ResultSetPresenter reflect the way its used.

Allowing a callable or a class was an unnecessary customisation, given we were
using it in the same way every time. Similarly, allowing these to be omitted
entirely wasn't necessary.
Replace the tag types RABL view with presenters.
Fix for undefined constant

As directed by @fatbusinessman
Replace the artefact RABL view with presenters.

Well, this was fairly horrendous, simply because the artefact view does so
many different things depending on the type of artefact. This is mostly a
one-for-one replacement of the RABL code, with a couple of exceptions:

  * The travel advice index is no longer bundled into the same template as the
    standard artefact, because we can do exactly the same thing with a new
    presenter that wraps around the standard one.
  * There's now a GovspeakFormatter class that handles Govspeak rendering and
    interpolating facts from the Fact Cave. This replaces the
    `process_content` global helper.
  * Some of the sub-parts of artefacts are farmed out to their own presenters;
    others aren't. There isn't any particularly reasoned approach as to which
    is which, and they're all liable to move around as needed.
Replace the RABL business support scheme list.
Replace the licence list with presenters.
Replace "artefacts with tag" view with presenters.
Remove the last vestiges of RABL.

And there was much rejoicing.