Deal with the case where you try to migrate a file that has been mirrored.
Buffing the file in memory is lame ... and fails for really large files.
Filter the Datafile list for the --all case so that we don't do a query
for Datafiles that don't have a Replica on the cource location.  + Tidyups.
If we don't buffer the entire file in memory before a PUT ... we need
to use the "poster" package to implement streaming PUT.  (The standard
urllib2 implementation won't stream request bodies ...)