Revamped permissions system.

- Put TODOs where we need to check permissions.
- Print out more meaningful error messages when don't have permissions.
- Simplify permissions to assume a total ordering: 0 (none), 1 (read), 2 (all).
- Add ability to get user info (including groups).
- Allow root to access everything.
- list_worksheets prints out owner and permissions.
- When printing out user/group information, print both the names and the ids.
- Root can list all groups and print out the owners of the groups.
- Switched 'root' user to 'codalab', since that's needed by the current OAuth
  setup anyway.
- Added documentation on permissions system.