Rewrite copy worker without GIO
Try to completely avoid the potential D-Bus deadlock by using only GLib and libc to copy the files. Add some tests to give some indication that this will work. As stated in the last commit, I tried to make this portable, but I had to use a couple UNIX APIs without GLib wrappers. In other words, it might not build or run on Windows.
Fixes: #217
Edited by Dan Nicholson