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.
Make sure the pool honors the idle_timeout
begin...ensure for the yield/checkin
Merge pull request #137 from cheald/fix_multithread_conn_pooling

Fix connection pooling across threads.