Extend "version" parameter to support lists and ranges.
Changes the current behavior of the "version" parameter by moving away from string prefix matching to actually parsing provided (partial) versions. As a result, for example, "version=0.3.2.1" doesn't magically include versions 0.3.2.10 to 0.3.2.19, 0.3.2.100 to 0.3.2.199, etc. anymore. Without this change, version ranges would have become just too confusing. The downside is that this change requires a major version bump. Implements #6947.