Changed StashedFile.id to StashedFile.file_id to avoid clash with built-in id() method
Actions are now reporting basic progress information
Actions do not have descriptions
Fixed some broken unittests
File transfer actions will get the whole StashedFile as source, instead of just the original & sha1 filenames
Sftp and parallel Sftp transfer performs content validation at the end of transfer
FileStash should convert file sizes to integers when loading the index from disk
Parallel Sftp transfer has configurable chunk size, and reports progress after each completed chunk

The new implementation has a set of worker threads. Each worker thread will setup one SSH connection to the target.
The original file can be split into an arbitrary number of chunks. The worker threads will transfer chunks via repeated SFTP PUT operations over their SSH connections.

A good value for chunk size is target dependent but will have the machine spend approximately 10-60 seconds per chunk... 10MB should be a good overall value?