Only apply copy op if shard already exists in Shards
Balance global shard count after balancing each DB

It's possible to balance all DBs "locally" and still have a badly
unbalanced cluster if DBs are partitioned such that N*Q is not a
multiple of the node count in the cluster.  In particular, large
clusters with many Q=1 databases will not be rebalanced at all if we
only consider each DB individually.

This patch adds a global balancing phase after checking that all
individual databases are balanced.  It looks for nodes that can afford
to donate at least one shard and then tries to find a suitable shard to
donate to a node that needs one. It repeats the process until it
exhausts the shard map or it arrives at a maximum number of operations.

BugzID: 20770