Run the progressbar based on file transfer size

This addresses Issue #15.  Now both uploads and downloads display progress 
based on the total number of bytes transferred out of the total bytes to 
be transferred.  In order to accomplish this, the determination of what would be sync'd before the actual sync has to be separated into its own logical components, whereas currently in master the logic to transport the bits up and down and the determiner of what is going up and down are intertwined.  That's why there's a decent amount of moving around of code.