Add basic user model and authentication
add user tests