Added callback before chunk upload. Allows async operations before continue

So I've added a pre-chunk upload callback. It does not use an event, instead it calls a user supplied function. The reason being is the user is allowed to continue uploading the file by calling the included parameter. This allows the user to perform async operations on the data and then continue the chunk upload when those operations finish. This is necessary for things like calculating a hash, doing server operations prior to upload, and other async activities.