Acceptance tests

Fixes #315.
I guess this is so the nodes can be containers, rather than VMs. I wonder if it would make more sense to write the code for testing against VMs first, and then figure out how to setup containers, and adapt the tests to run against them?

As long the the addresses used to connect to the nodes wasn't hard-coded, the body of the tests should be the same in either case. Probably both parts could even be done in parallel.