If moveChunk is sent with maxTimeMS, the following scenario can occur:
1. The config server sends moveChunk to the shard. The shard starts running it.
2. The config server hits maxTimeMS, which then causes it to fail to delete the relevant config.migrations doc, which happens in the destructor of the object created here, since the OperationContext has been interrupted.
If the config server gets another moveChunk attempt for that range, it will fail with DuplicateKeyError on config.migrations. config.migrations is keyed on namespace and the min value of the range being moved, so this will happen indefinitely for any chunk with the same min value.