Support multi-threaded uploading of files

This closes #4.