Represents a version used in a version requirement.
the major component of the version (e.g. "1" in "1.2.3")
the minor component of the version (e.g. "2" in "1.2.3")
the patch component of the version (e.g. "3" in "1.2.3")
Returns a string representation of this version in "$major.$minor.$patch" form.