Created BaseModel which provides some basic validation methods and a method for
saving an uploaded image

Cleaned up User model methods + documentation.
User model now extends BaseModel

Cleaned up UserController create method, shifting a lot of the work over to
User model