Currently, if the caller of the shard moveChunk command closes the connection for any reason, the chunk move operation will continue running in the background. If the same moveChunk command is retried though, the shard will return a ConflictingOperationInProgress error.
We should make the sharded 'moveChunk' operation joinable so that if a moveChunk command with exactly the same arguments is invoked it will block waiting for the already active moveChunk to complete.