Semver parsing, sorting, and ranges for Go