garden can listen over tcp; remove remote runner

This adds some infrastructure for the ability to run integration tests
against a Garden server running remotely and listening on a port. The
Remote Command Runner has been nixed in favor of this; it ended up being
kind of a leaky abstraction (everything had to be done in terms of shell
commands as they couldn't assume locality).

[finishes #64058878]