If a shard gets additional movePrimary commands while it is already processing a movePrimary command, the later movePrimary commands should "join" the first one.
This should mirror the way moveChunks 'join' an existing moveChunk.
It will involve creating a new ActiveMovePrimariesRegistry class that mirrors ActiveMigrationsRegistry and installing an ActiveMovePrimariesRegistry on ShardingState.
Add testing that if multiple movePrimary's are sent to a shard, only the first one actually executes.