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