Add Group membership join time to data model.

Change the small group_member_list association table into a full-fledged
class.  Add a new 'join_time' column, then hook it up to the Group and
User models with backrefs and proxies. user.groups and groups.members
work as always.  To get 'join_time', use user.user_groups[x].join_time.
When adding a user to a group, it's enough to instantiate a new
GroupMemberList(u, g) without appending to either group.members or
user.groups.