Introduce an optional configuration to define a regex for naming rules

Before this change, this plugin enforced a rule that a project cannot
contain spaces in its name. Therefore, projects could have a name with
any set of characters while not including a space in their names.
However, due to IRI (not URI) and backward compatibility, the non-ASCII
characters may be represented in a way that can cause issues [1].

This change introduces a configurable parameter that can be set to
define a regex that is then enforced upon project creation to ensure
backward compatibility. If not defined, the default behavior, to check
that projects don't contain spaces, applies.

If the regex is defined, it will apply if it accepts the character / and
doesn't accept spaces, else it will get ignored to not affect the
functionality of the plugin. In case the regex gets ignored, a warning
will be registered in the log file to flag that the regex is invalid.

[1] https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier

Bug: Issue 14297
Change-Id: Ia21c9834f41c4d5289f56aacd357c5de09f4521f
4 files changed