Enable concurrent (threaded) uploading of files

Uploading assets can take more than a few minutes for sufficiently large legacy apps (like the one I work on).

When testing this out locally, I tried with an entirely empty bucket, and our compiled assets is ~40mb.  With the threaded uploads, it took about 1 minute. After emptying out the bucket and trying again without threads, it took about 30 minutes.

This can be a bit more taxing on system resources, so I built this feature so that it could be turned off with a config setting.