Support for very large version number parts (treating a date as major version)

Avoid casting number to ints, use regex to validate number.
Fix to problem parsing version numbers with parts consisting of multiple zeros.