Feature/modules

Moved the User model into a module.

This way custom methods can be defined by the user, and it doesn't have to be called "User"