(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.