edit, add pages, usergroups, and login timeouts

much too much for one commit, I know.

Usergroups are now an attributes of pages, which can be set when you add
or edit pages.

5mins before a session expires, you get a heads up and the ability to
restore the session.