Validate the attachment before we attach without calling valid?

Using the ActiveRecord validations is smart in order to lessen load on
the project to develop our own validators, but it's problematic in that
calling `valid?` on the record fires off all the other validations --
including those on fields which may not be set yet because of
mass-assignment. This commit will "pre-validate" the attachment's fields
so that it doesn't process an invalid attachment, but it does so by
running its validations manually on assignment.
Merge pull request #1281 from johnnyshields/master

Better CodeClimate badge (shows GPA)
Make #expiring_url behavior consistent with #url

Return the default path when the attachment has no remote file
Assigning an empty string does nothing
Ensure correct behavior when assigning empty string
fix for mocha's warning
ability to define custom sanitizers for filenames
Adds a FilenameCleaner class

You can either specifiy :restricted_characters or you can define your
own :filename_cleaner object. This object needs to respond to #call and
takes the filename that will be cleaned. It should return the cleaned
filenme.
Documentation for filename_cleaner
added handler for (base64) data URIs
Refactor DataUriAdapter a little
Updated the NEWS for v3.5.0
Version 3.5.0
Specify MIT license in the gemspec
Change Paperclip::Tasks::Attachment to Paperclip::AttachmentRegistry
Return to full green with Rails 3
Reintroduce attachment_definitions
Test for .attachment_definitions
Try matching uploaded file type before defaulting to first official one

and memoize type_from_file_command
Add test for inferring content type from uploaded file

Added the sample .mp4 file from Apple's QuickTime sample page:
http://support.apple.com/kb/ht1425