Created a new unit test for failing migrations (missing disk file).
Reviewed and fixed the error handling for migrations. A deadlock was created by the competing usage of a stop variable an normal information flow through the threads. The global variable's usage has been reduced and clarified: it is set by the tape thread to indicated an error reached it. From that point on, the remaining disk threads can stop what they are doing (and not before as failing to read a file should not block the completion of previous ones). The file errors are now transmitted to the client before end of session, and in case of flush. The unit tests have been updated accordingly. Report messages have been improved.