Fixed copy of first data block from device

The first datablock was not copied into the download buffer. Also uses a
64MB buffer to hold downloaded data. Will allow the file to grow as its
downloaded. We have to trust the fileSize reported in the last data
block to slice the final download buffer.