Membership types

Implements membership types to allow members to belong to groups or named groups in a more specific way. This can be used to implement role-based authorization on groups of resources.

Fixes #3 and #4.