ConstParse an R version range string into a Range, normalizing R's freer scheme. The original range
string is available via .str.
This never throws: an unparseable constraint (e.g. >= abc, or a git/URL "version" from a lockfile) yields
undefined rather than aborting the caller, so a malformed constraint is detectable and simply contributes
no version bound. Parsing is attempted first verbatim, then after normalizing R's scheme to SemVer.
Whether an R version string satisfies a range constraint, normalizing R's freer scheme on both sides.
range may be a parsed Range or a raw constraint string. Returns false if either is unparseable
(never throws), so a malformed version/constraint simply does not match.
Helpers for R package version ranges (DESCRIPTION constraints like
>= 0.4-9).