If cspace_state_changed_by_batch (or whatever we call it) flag (see #44) is false at the time of cancellation or failure, the Transfer step can behave as it currently does.
If cspace_state_changed_by_batch flag is true at the time of cancellation or failure, the final transfer report should still be written (at least for the rows processed up to that point), to serve the "keeping a record of who changed what in CSpace" function (as described in #45)