Upload artifacts in parallel.

Spawn a separate thread for every artifact.  When uploading via
sftp detect connection failures (which might be caused by too
many simultaneous uploads triggering OpenSSH's MaxStartups limit)
and retry up to three times with exponential backoff between tries.
Finally, tack on a final task at the end of the parent project's
"upload" task chain that joins all threads so no downloads are
killed prematurely when the main buildr thread exits.