Added support for inheritance in the User class

Now a class can inherit from the User Class, and as long as it has a
zero parameter constructor it will be supported by the manager.

Also added the corresponding tests.
Added tests for exceptions