Higher level IPC abstraction (fixes 238)

This is mostly refactoring.

Fixes #238.
Why not just make these arguments to `RemoteVolumeManager`?