Publish and install Generic packages with semantic versions
### Problem to solve
[Generic packages](https://docs.gitlab.com/ee/user/packages/generic_packages/) versions are validated with this simple regex: `/\A\d+\.\d+\.\d+\z/`. However, this validation prevents publishing and installing packages with SemVer to the GitLab Package Registry.
This is a problem for Developers who use [SemVer](https://semver.org/) to identify packages as related to a given version of their project.
### Proposal
Relax the validation of Generic package uploads, so that Developers can upload packages with SemVer labels.
#### Further details
Adding this functionality breaks sorting for Generic packages, but we determined that since this was an acceptable trade-off.
issue