login.html call user username and make password a password type

So you can't see the text typed into the field
views.py remoe duplicated login function

This was being redefined later in the file
views.py add validation to username attribute for registration

So we don't try to register a blank user
views.py fix bug with not saving new user traits

name, email, password, etc.
views.py make login view actually log the user in

Also remove the password session variable which is bad security
practice.  If retrieved from the POST then it is leaked in plain text.
If retrieved from the DB then it is a hash, but still don't want to leak
it