Enhance cookbook version parsing and validation

All cookbook version validation is now handled by
chef_cookbook:parse_version. This avoids having a regex validator and
a separate parse function.

The chef_cookbook:parse_version function has been improved to better
match Chef cookbook version requirements:

* Less strict: it now accepts 1, 1.2 as valid inputs and maps them to
  1.0.0 and 1.2.0, respectively.

* More strict: negative version values are disallowed. Version values
  outside the range of a postgres int column (2147483647) are
  disallowed.
Remove unused cookbook_version regex
Remove unused cookbook_version_constraint regex
Upping max to 2^63
Extract some common test values to macros
Merge branch 'sf/versions-are-ints'