Fix connection pooling across threads.

This switches the SSH acqusition from a simple thread-local memoization to a global
pool with checkin-checkout semantics. This fixes connection usage across multiple threads,
most notable when run by the parallel runner.