(PUP-648) Implement upgradeable and versionable on the pkgin package provider

Implemented the upgradeable and versionable features on the pkgin package provider so
that packages can use `latest` and version numbers in the ensure property.
Merge branch 'pr/2023'

* pr/2023:
  (PUP-648) Implement upgradeable and versionable on the pkgin package provider

This closes GH-2023