The ultimate idea behind this task is to support online behavior for movePrimary with the following constraints:
- The database being moved contains only a single collection.
- Only ordinary CRUD ops (no transactions) are being performed concurrently with movePrimary.
- movePrimary aborts if a failover occurs before reaching kPrepared.
This task will be complete once a passing test is written which performs a movePrimary operation on a database containing a single unsharded collection while concurrent CRUD operations are being performed on that collection.