Response published date set in the DB

This allows us to ensure the date is set in the DB which can then be used to check the presence of a published consultation response, by using the published_on date.

Also add a data migration to set the published_on date on responses with summaries and no published_on date, or attachments and no published_on date. This is because we are currently treating the response as 'outcome' if it has an attachment or a summary but not setting the published_on date, and there is old data that needs cleaning up.

Also move class methods into scopes.

This work was part of fixing this bug duplication of consultations in the get invloved page: https://www.pivotaltracker.com/story/show/53350895