[#57] Added model validation, password encryption; #password_digest moved to private scope