Created a user model

This includes validation as well as authentication against a secure
password