Add user model

This entire thing is still a work in progress, classes are still empty and need definite work. I'm just putting this up so others can take a look and improve upon it.