Add ability to cancel upload in context object
Abort multipart uploads in progress

If a user cancels the sync/cp via Ctrl+C or if
a part has a problem being uploaded, then we need
to abort all of the current multipart uploads.

This mechanism can be improved, we could have a separate
thread that watches these elements or even perform these tasks
while we're waiting for the executor to finish.

But at this point all the unit/integration tests are passing and
we properly abort any in progress multipart uploads.