make a basic User model (including secure passwords
refactored user auth as per Hartl exercise