chore($handler-cleanup): centralized progress calculation for handlers #1157 #584

Previously, for chunked MPE uploads, we would report the progress of the entire request for each chunk.  Since there is no way (that I know of) to accurately calculate the exact size of a MPE request before it is sent, we maintained an estimate of the size of the non-file portion of each MPE upload chunk request and used that to determine how many exact bytes were left to send over all remaining chunked requests per file.  I've changed this approach.  Now, we only report the progress in terms of the size of the actual file we are uploading.  We simply assume that the total number of file bytes uploaded for a specific chunk at a given time, given a progress event from the browser, is equal to the number of bytes sent for that request minus the difference between the size of the request according to the progress event and the actual size of the file's chunk.   The benefits to doing this include better likelyhood that we will reach 100% (and show the processing status) in browsers such as Firefox when the last progress event has been received from the browser.  Also, this means that the total parameter of the onProgress callbacks remain constant (this could change over the course of a chunked upload as we re-estimated the total size of all requests).