feat(ssh): Implement the equivalent of gossh.DialTimeout

It could avoid the waste of CPUtime, and terminate the goroutine
for dial in time when cancelled due to timeout.