Extract a data object from consultation response form

So it is more like attachment/attachment_data and image/image_data.  This is step 1 in fixing the consultation editing bug where you have to reattach the consultation response form each time.
Wire up associations for consultations correctly
Consultation response form UI now has keep/remove/replace

It's ever so subtly different from the behaviour of the same UI for attachment_data, so we can't reuse all the same helpers and the controller can't reuse the Admin::AttachmentActionParamHandler.  Mostly because:

* 'remove' is different in that we want to remove just the consultation_response_form, not the "join" object between it and the consultation.  Whereas for attachments we have edition_attachment (the "join" object), attachment, and attachment_data - and we want to remove all of them.
* 'replace' is in place replacement of the file on the data object rather than creating a new data object. On attachments we create a new attachment_data and point the old one at this new one as its replacement.
Add redirection for old consultation_response_form urls

Use a rack redirector because we want to set the Expires and Cache-control headers to something long lived (for akami) and the standard redirect() helper won't let us do that.
Merge pull request #169 from alphagov/make-consultation-response-forms-follow-attachment-data-model-pattern

Make consultation response forms follow attachment data model pattern