Refactor Union queries for common functionality
Add access control methods to User Project Preference
Add Controllers and Specs for Project Roles and Preferences

Closes issue #178
Correct broken spec
Update apiary docs for new routes
Remove 'captures'
Remove accidentally included diff tags
Add project_roles relation to Project
Add links to project_roles and preferences to Serializers
Update instead of create is user_project_preference exists
Add specs for new UPP methods
Create access control method instead of anonymous block
Create custom update access control actions
Update spec wording. FIx unauthorized user test
Update Spec wording
Add documentation about roles scopes
Overwrite old access control filters
Remove whitespace
Update RoledController method naming spec
Only switch create to update requests for Roles Controller

Also fail when roles already exist