Tidy commands/creator logic when a user is specified.
commands/perms now uses owns() from Gitolite::Easy.

Instead of rolling its own.
Formalise the definition of the repo "owner".

Previously, the notions of "creator" and "owner" were conflated in
Gitolite, and used more-or-less interchangably.  For example,
Gitolite::Easy had owns(), which would check creator(), and when shell
scripts like desc and D wanted to check if the user owned the repo,
they would run "gitolite creator".

This patch goes a long way towards disentangling creatorship from
ownership.  It introduces a new Rc variable, OWNER_ROLE.  If not
defined, the "owner" of a repo is its creator, as previously.
However, if it is defined, then a user is defined to be an "owner" of
the repo if they have that role (for that repo).  If the repo has no
users in that role, then the owner is the creator.

This definition allows backward compatibility and smooth transitioning
to an OWNER_REPO.

There is a new command "gitolite owners <repo> [<user>]", which is
analogous to the "gitolite creator ..." command, except that it
lists/checks for ownership, not creatorship, and since ownership is
plural (in general) (whereas creatorship always singular), there is no
-n option and newlines are always output after every owner.

External programs currently using "gitolite creator repo user" in
shell might want to consider converting to using "gitolite owners repo
user" instead (just s/creator/owners/ is enough).  External perl
programs using owns($repo) from Gitolite::Easy need no changes,
whereas external perl programs that directly check if creator($repo)
eq $ENV{GL_USER} should consider converting to using owns($repo).

There are also additional new commands "gitolite list-roles <user>
<repo>", to get the roles that a user is in for a given repo, and
"gitolite list-repo-roles <repo>", to get the roles that are used by a
given repo.
Merge remote-tracking branch 'origin/owners' into devkev

Put my owners patch into production.