Added test for SwingCopyJob's cancelJob method and debugged SwingCopyJob

Merging this pull request will get the "cancelJob()" method of a SwingCopyJob instance working properly.  This would be handy if a button is placed on the GUI for cancelling the active copy job.  There is also an awaitCompletion() method, used a lot in the tests, that has been tweaked in a way to support cancellation. It could be used to await (block) until the job's background thread has exited - if that is desired.  It also conveniently rethrows exceptions that occurred on the background thread (though an uncancelled job is guaranteed to notify registered CopyJobListeners of exception through the listener's InternalCopyJobException() method.

At long last, I'm now at least looking at support for long filenames atop the Windows platform, though I'm off on a family vacation, starting this evening, and won't be able to continue work until the morning of the 21st.