User creation

Add the ability to create users. Tests and validations also created as necessary.