Refactor user model fields
Initialize user's display name only when first created (with oauth)
Sign up with user id and password
Initialize provider and username under signing up
Refactor session controls
Use uid instead of name for signing in
Close #16