Adds a BatchMoveJob class which enables moving multiple files in a single operation.
Looking for comments/thoughts. Regarding implementation, I took a look at batchrenamejob so I did something similar with multiple hidden sub-jobs. Some of the methods such as slotstart/slotresult are adapted from batchrenamejob. Should I include the original copyright or is that not necessary.
Also looking for some thoughts on the test suite with respect to the undo. The last test I wanted to do is to undo the move so that I can verify all files have been moved back to their original locations by calling a single undo.
Issues that depend on this: D14631