first take on identity model - still broken
move identity creation into user class

It's always based on a user and most default values are based on user properties.
testing all versions of emial identities, emails are now strings
local email adds domain if needed
validations of email format and local domain moved over
allow available and unique forwards only
remove the remainders of email aliases and forward from user
add keys to identity
remove email aliases test - we'll move them to identities
support deprecated API to set users main identity pgp key

We'll want to get rid of the #public_key and #public_key= functions but they are still used from the users controller. We'll probably have an identity controller instead at some point.
no need for a remote email class
test user validates uniqueness of login amongst aliases
setter for keys for dirty tracking, more robust tests

Just altering identity.keys did not mark identities as changed. Also we now have a sane default for keys.
removed email settings controller and views

PGP setting has been moved into account settings. It's using the API now issueing an Ajax request without any visual feedback.

This obviously is not what we want but it hopefully suffices for uploading gpg keys for testing purposes before the Identity UI is in place.
separate signup and settings service objects for user
keeping the pgp_key accessors for User so views still work
also destroy the identity for a test user during teardown
integration test exploiting srp vulnerability
close srp vulnerability and report error in webapp
Merge branch 'bugfix/3410-close-srp-vulnerablility'