Change login name format on user registration

Linked to #129 and #105.

Convert the login name to be downcased with underscores replacing spsces as per Ed's suggestion in #105 and what's happening for Omniauth users [here](https://github.com/zooniverse/Panoptes/blob/3d02cdd4d93620453970ad8c9c5f7315bfac7455/app/models/user.rb#L38).

**Note: I don't think we should do this!!** If a user types in their login we should not change it on them and I don't think we should have a function to covert each typed login name before we check if they exist in the DB. I think it's ok for omniauth users as they'll never use their login name anyway but not for user's registering accounts with us. If we don't do this then their owner name will possibly contain spaces and caps.

Thoughts?
An older ruby convention was to define multiple class methods by setting `self` to `class`.  Programmatically identical to `self.` definitions.

My only caveat is that if there's a lot of code in there, you can obfuscate the class scope.  Otherwise who cares.