Represent sets of channels as channel.Set type (a map), not []string.
Created auth.Role type, factored out of User. Not used yet.
Huge OOP refactoring of auth package

auth.User and auth.Role are now interfaces that both extend a new
interface auth.Principal.
Implemented role inheritance for auth.User.
Implemented admin REST API for roles. Added unit tests.

URLs are /dbname/role/*, just like for users.
Validation of access() parameters. Bug-fixing. More unit tests.
Misc. improvements and README update

* The userCtx object passed to sync and validation functions now includes
  a "roles" property, and the "channels" property now includes channels
  inherited via roles.
* The -url flag now understands filesystem paths and file: URLs, both of
  which will use a persistent Walrus database.
* Major overhaul of the README, including info about the new role stuff.