Support wildcard matching in repository configuration

Per repository configuration was only supporting "*" as the repository
name so it was only possible to configure one default submit type and
same owner groups for all the new repositories.

[repository "*"]
  ownerGroup = Registered Users
  defaultSubmitType = MERGE_IF_NECESSARY

Now supports different repository configuration based on the name. The
only matching patterns supported are exact match or wildcard matching
which can be specified by ending the name by a *. Obviously, repository
name "*" still represents all repositories.

If a project matches more than one repository configuration, then the
configuration from the more precise match will be used. In the following
example, the default submit type for a project named project/plugins/a
would be CHERRY_PICK.

[repository "project/*"]
  defaultSubmitType = MERGE_IF_NECESSARY
[repository "project/plugins/*"]
  defaultSubmitType = CHERRY_PICK

Change-Id: I8b9c157f60a3ad1c6f542cef62e5de8fe9333126
10 files changed