Factor out Dummy resources from client tests

The dummy site, request, and root resource all live in the new
_dummyresource.py file. This they can more easily be used in tests.
Insulate Dummy{Site,req,..} from client

Pull all of the FileRequestResource code out of _dummyresouce.py. This way,
the dummy resources are totally resource agnostic.
pass url into dummyrootresource ctor
add note to dummyresouce
Fix naming of tests in client
Add tests for FileRequest, Mocks for Downloader, IO

The filerequest object has unit tests. The code has been changed to allow for
the injection of both a downloader and an IOHandler.

FileRequest.getFiles has been tested for functionality. It has not been tested
for file creation or file download.

Also, I have made comments on the download agent code. It seems that instance
variables might want to be changed. These could be parameters passed to
getFile. Lastly, work on how to get transfer status/progress out of the
protocol.
privatize methods
drop unused imports
drop off the IOHandler class and use a bare function
Fix comments
drop move_resources