Added support for caret in version field

Also added several tests to make sure we are trapping all the
versions that could be in a package.json.

Fixes #22
Merge pull request #23 from davglass/semver

Added support for caret in version field