Push volumes from one node to another (fixes 16, 90)

This fixes #16, and also #90 so that the tests run on Buildbot.
Eventually we probably want tests for the error cases of reader() and writer() as well.  That's probably where a bad implementation would leak resources anyway.