Added the FileOp Bundle

isn't the IsFileSafe test superfluous here? Since the WHEN below was dependent on IsFileSafe already.

I think there are some threading issues anyway, if multiple clients are trying to call DefragmentFile in parallel, then it looks like they could tread on each others toes and mess up the supers.

A transaction around these superops. looks possible and will mean that it won't begin until all supers+files are locked.