Created DB, Manager and tester for users

Made changes to User class. Which resulted in subsequent changes to
other classes.

I should have committed earlier but I got caught up. My bad :(
Reverted User changes. Logic change for adding users.

Now, the idea is that users are not created outside of the manager.
Instead, the manager handles user creation and in turn handles
primaryKey generation.

This behaviour will be unkown to the db and thus the db can still read
and create users when the primary key is known.

I hope that explanation is clear.
Testing completed?

I think I finished testing for the user manager. I can't think of more
things that can be done.
Fix minor issue
Merge