refactor functional tests to use ssh, not docker run

If we start a container before the test suite, then
individual rspec examples can just ssh into the container
instead of starting and stopping containers repeatedly.