This commit includes hashing for the password (which could be better
integrated if we wish to) and some important comments and TODOs in User.
I've also added some suggestions and questions. All methods that have
the chance to fail a check due to character length or validity return a
boolean with the result of the variable assignemnt.