Download multiple files with each rsync invocation.

This turns out to make syncs at least 3X faster.

It also allows for greater concurrency: having many short-lived rsync
processes casued issues with piled-up zombies, but the longer-lived
processes don't have this problem, so we can have more of them.
Address code review comments.

In particular, add multi-path tests.

Also added a TODO to support multiple files with the same content
but different file permissions.

Also fix a few places where I (by which I mean PyCharm) noticed
that I was writing unicode objects directly to files. This was only
in tests, so it didn't actually matter, but still.
Merge pull request #5 from benjyw/efficient_rsync_downloads

Download multiple files with each rsync invocation.