Server permissions for users and groups

Users and Groups
Each user should:
 * Automatically belong to their own group (of which there is only ever them as a member)
 * Always belong to one other custom group (by default the 'Users' group)

Users can belong to more than one custom group.

Permissions are assigned on a group basis. There are therefore 3 areas for concern.


 * Page Permissions: Groups are granted access to pages (lkpagegroup)
 * Menu Item Permissions: Groups are granted access to menu items (lkmenuitemgroup)
 * Layout / Media Permissions: Layouts and Media are set to be "private, group or public"

Structure

 * Add a table to link users to groups (rather than a groupid in user)
 * This table should be called lkusergroup
 * LkUserGroupID
 * UserID
 * GroupID
 * Alter group interface to not show these "single user" groups.
 * Group Table extra column
 * IsUserSpecific
 * Interface for assigning users to groups
 * There would be a button on the user grid called "Group Assignments"
 * This would contain all the LkUserGroup records that user belonged to - as well as any groups that they could be assigned to.
 * It would *not* contain the IsUserSpecific group (as the user cannot be removed from this group)
 * Maintain the user belonging to their own group - behind the scenes
 * The creation of that group when the user was created
 * Maintenance of that group when the user is deleted
 * Interface for setting permissions for Pages and Menu Items on User Groups (this is implemented for groups but would likely need to change to not show the "user specific" group when looking at groups)
 * Interface for setting permissions for Page and Menu Items on the "user only" group (most likely from the user page)