Introduced the concept of Roles, and the standard ones

Not tested yet, but the central code is now there.
Fixed to Roles, and unit tests for them
Updated add-roles to master

add-roles is still in process, but this way we should avoid version
skews.
Unit-test for Commentator Role
You can now set a Member's Role in Sharing and Security

It's not pretty yet, but it's a start.

Involves some annoying hackery to pretend that you can only have one
Role.

Introduced a way for specific controls to define their own custom
serializers.
When you edit the Role, it now initializes correctly

Introduced the Basic Member Role, so we have a sensible default that we
can talk about.
UI improvements for changing a Role

Also, introduced the savecallback mechanism, to do something after
saving a field.
I can now set a Default Role for the Space

Checkpoint towards being able to invite people with a particular Role.
.3y285qu: I can now specify the Role for an invitee

That is, I can say at Invitation time what Role this person should have.

This selection is persistent, and will be remembered for the next time I
do invites.
Merge remote-tracking branch 'origin/add-roles'