more relaxed version parsing: don't require hyphen before prerelease

This allows e.g. `"1.2a1"` or `"1.1.3rc2"` to be parsed.  (I ran into the latter form recently with Matplotlib.)