pool: Allow multiple replicas for migration jobs

Migration module is idempotent, meaning running the same job several times has
the same result as running it once. Thus even when running a copy job twice,
only a single copy is created. This is generally desirable, as it allows jobs
to be rerun on failure without tracking lots of state. In some cases it may
however be desirable to create more than one target replica. This patch adds
such a feature without compromising the idempotence of migration jobs.

The new -replicas option enables the creation of migration jobs that create
more than one target copy. This is fully integrated with discovery, validation
and update of existing replicas. In the current design, only a single copy is
created at a time, although one may consider increasing parallellism in a
future update.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Albert Rossir <arossi@fnal.gov>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7327/