Make consultation response forms follow attachment data model pattern

I have extracted ConsultationResponseFormData out of ConsultationResponseForm so that it looks more like other attachment type things (Attachment & AttachmentData, Image & ImageData).  The principle reason for this is to allow us to submit the form for a consultation and edit the consultation response form metadata without having to validate the data object.  Our current carrierwave implementation when we use the quarantined storage (which we do in production) means that all our file stored objects are invalid because they can't find the file (it's not where they think it is as it's been moved after storage).

Have also added the keep/remove/replace UI that we use on Attachment/AttachmentData instances.  The implementation at the controller level is slightly different because of the objects and relationships being different.