parse(
s) ->version,err
Parse a version string into a normalized table
Parses s into { major, minor, patch, prerelease }. Missing minor or
patch components default to 0. A single leading v is stripped. Build
metadata (+...) is discarded. Returns nil and an error if the core
triple contains non-numeric components.