The regex versioner supports arbitrary, user-defined versioning
methods; it provides building blocks in the way of interacting capture
groups within a user-defined regex which can be combined to support
arbitrary use-cases.
Uses a new `versionConfig` option to configure this scheme -- this
feature is enabled dynamically for any new versioner which includes the
optional `configure?(new_config: string)` interface. Warns if used with
an invalid scheme.