Remove Consultation Response admin route and controllers

Users can no longer navigate to this route (Responses are no longer
modelled as Editions) so we can safely remove the route, controller and
associated test.
Remove residual Consultation Response code from Documents

It's worth noting that this commit removes the functionality that would
automatically add a 'Response published' event to the change history.
The idea is that we'll (well, the editors) be able to replicate this
functionality by using the change notes when they add a Response.
Split admin attachable test helpers into separate file.
Split attachment test macros

Some of these tests will not be applicable to non-edition
attachable objects.
Move Edition::Attachable to more generic ::Attachable

a step towards refactoring this module to be usable with non-edition types
Don't always include AlternativeFormatProvider in ::Attachable

Editions will always include Edition::AlternativeFormatProvider but
non-edition types will have a different mechanism for specifying the
alternative format provider.
Include alt format provider in controller_attributes

If the class has an association with alternative_format_provider then
the controller_attributes will automatically include a reference for
alternative_format_provider.

This is a bit icky as this is hidden in the tests, it might be good to
refactor this out to make it explicit later, but this is a quick way to
make tests more flexible for now.
Allow attachable to work with non-editions

The attachable behaviour must be activated using the #attachable class
method.
Apply Attachable tests to SupporingPagesController

The tests are made more flexible so that they determine the name of the
controller attributes and join tables from the model under test.

Applying these tests to the supporting pages controller exposed a number
of bugs around attachments in the supporting pages controller which are
fixed by this commit.

I also noticed a bug when displaying a lock conflict on editing a
supporting page. The bug was due to the fact that two forms were shown
side-by-side on the same page with the same id, and the 'preview'
javascript code got confused in this case. I've fixed this by renaming
the second 'disabled' form on this page so that it has a different ID.
Make supporting_page use ::Attachable mixin
Remove Consultation Response

* Removed the model, associated unit tests and factory.
* Removed a special case for Consultation Responses in the editions/show
  template.
* Remove the special cases for Consultation Responses in the
  public_document_routes_helper.
* Updated some tests that no longer needed to deal with Consultation
  Responses.
* Updated some tests to create the new type of Responses rather than
  Consultation Responses.  *NOTE* I've noticed that some of the tests,
  particularly in the consultations_controller_test, are poorly written.
  I'd like to have spent the time making these better but I've already
  spent long enough on this story.
Remove consultation_document_id column

This was required to link Consultation Responses to their Consultation's
Document.  Consultation Responses are no longer modelled as Editions so
this field is no longer necessary.
Merge branch 'master' into remodel-consultation-responses

I've fixed the two conflicts below by removing the files.  I'd already
removed them in this branch but they've since been updated in master.

I'll probably want to use the recently introduced/modified generic
::Attachable module for the Responses but that can wait for a separate
commit.

Conflicts:
	app/models/consultation_response.rb
	test/functional/admin/consultation_responses_controller_test.rb