Batch of user/user list updates (redux)

This is essentially a redo of pull request #6 in an attempt to clean up the set of commits included. Please see the comment history there for more information. This request will be closed immediately as the code has already been reviewed, mostly by @epelz.

I'm including the pull request description from #6 here for reference.

> This pull request started as just user access levels + offices + bug fix for edit user, but has since grown since more commits were made to the `devel` branch. Now, we're looking at the following updates:
- display a user's offices on their page
- hide user_id on userlist page
- add access levels, can edit user information if appropriate access level
- update the login decorator
- bug fix: use the URL's user, not the session's user (problematic when editing other user's information)
- a working map which displays occupants of each room. We link to this on each user-page