Ensure attachments have unique filenames

Also introduces a new helper method on the Attachment model for
generating the attachable model name.

Note that the filename uniqueness check is not case-sensitive.
Test suite creates unique attachments

Attachment validations are skipped in the fixer/cleanup tests so that
we can intentially create duplicates.
Merge pull request #1170 from alphagov/62252064-unique-attachment-filenames

Attachment filenames must be unique 

This adds a validation to ensure attachments on any given attachable have unique filenames.

Tracker: https://www.pivotaltracker.com/story/show/62252064