Add user communication preferences

Adds a UserProjectPreference model to hold any per project settings.
It's created the first time a user classifies on a project, which
should definitely be moved to a background task at some point.

Closes #84
Symbolize Keys for MRI
Create preferences after classification saves
Merge pull request #126 from edpaget/user-communication-preferences

Add user communication preferences