Implement command `promote`

The command downloads the given package version from one registry
and publishes it to another registry.

Usage:

    sl-registry promote --from <name> --to <name> <package>@<version>

The command is implemented in the last two commits. Earlier commits are changing the code to make the implementation easier.