Support read-only access to repositories

Regarding the repository.Repository struct:

* `Repository.Users`: users that with write access
* `Repository.ReadOnlyUsers`: users with read-only access

Implementation notes:

* When creating a new repository specify which users should be
  allowed read access
* Allow specifying if read-only access when adding user to repo
* When removing user from repo, remove from both write and read
collections of users

Please review, comment, suggest and advise! :wink: 
 > (…) although it's possible to do both (…)

I meant it's possible with 2 requests: `RevokeAccess` then `GrantAccess` to remove read-only access – even if it's useless – and `RevokeAccess` then `GrantAccess()` with `readonly=yes` to remove write access.