Add user model, controller for new user, and basic validations for user

This commit is the most basic model for a user. It doesn't include models for customers or vendors yet. I went by our notes on this one, but I noticed that we have two booleans which might be overkill:

   1. vendor: boolean
   2. customer: boolean

We can implicitly define if is a user is a customer or vendor do the the exclusive categorization. Regardless, I committed it as we wrote it, and can make the change pretty easily if you guys agree.

:metal: