names: tighten up the requirements for project and user names
Project and user names must now start with a letter or digit.
Additionally the final component of a project name cannot end in '.'
(non-final project name components have never allowed a trailing '.').
Project names have never been allowed to end in '.git' now that match
is case insensitive.
Additionally, so that a project name can potentially be used as part
of a valid Git ref name, names now may not end in '.lock' (case
insensitively) nor contain a '..' sequence either.
Pre-existing projects that violate these restrictions will continue
to be accessible and editable but no new projects that violate the
new restrictions can be created.