db: get_user and get_users now return User objects instead of dictionaries. This is the major part of replacing dicts with User objects, as it propagates upwards.
Propagated User objects up through the following modules: listusers.py, dispatch.login, authenticate, userservice, forumutil All of these now treat users as an object rather than a dict.
To save on the size of the changes so far, login still individually copies fields over to the session (so the session does not yet store a user object; that is the second part of this refactor).