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