Use sync.WaitGroup in keepAliveMonitor
Use sync.WaitGroup in keepAliveMonitor

The keepAliveMonitor also spins up several goroutines.
Allow the caller to pass in a sync.WaitGroup so that we can better
keep track of how many goroutines each operation has spun up.

dsnet/sshtunnel,dsnet/sshtunnel