ensure revision is always a string
new module: ipkg.versions

extracted from ipkg.repositories