Clean up parts with noDisk Option

It seams nothing was uploaded until all the data was read. This was causing memory errors in my application. By changing the batching module used it can start uploading part 1 while part 2 gets ready, etc.

To help with upload throttling added a maxConcurrentParts option.

noDisk stuff seemed to work its way in here (apologies for my lack of skill regarding pull requests :-P)