Expose the regex used to parse versions as a public constant

Good point. I could argue that ```Version("    1.0  ")``` is also wrong, for the same reasons.

Maybe the regex should be unanchored, with no leading/trailing space, and the code should do
```python
# We could use VERSION_REGEX.fullmatch here if we only supported Python 3.4+ :-(
match = VERSION_REGEX.match(version)
if not match or match.end() != len(version):
    raise InvalidVersion("Invalid version: '{0}'".format(version))
```

Thoughts?