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.