Replicate to a base uri

Previously, when a repository was replicated, the user could only
specify a change to the hostname in index.yml files.  This could be
abused to specify ports and additional paths (e.g. `--host-name
example.com:8000/dependencies`) but this was not documented and
therefore not supported.

This change adds support for specifying an alternate `--base-uri`
argument that allows the user to specify the entire base URI (e.g.
https://example.com:8000/dependencies) directly.  If the user
specifies `--host-name HOSTNAME` then that is transformed into a base
uri of `http://HOSTNAME`.

[#70419124][resolves #4]
Merge 70419124-base-url to master

[Completes #70419124]