Don't let the User object be responsible for talking to database

This commit is non-functional and therefore more like a suggestion than a request. The idea behind it is to let User.GetById go away and let the developer implement an external function to retrieve an User from the database.