rose host-select: kill child processes on timeout

And add `-oConnectTimeout=T` when calling SSH on hosts.

N.B. I have change the way the (SSH) bash command is executed. Instead of using `shell=True` and a HERE document for the script, it now uses a direct `Popen` and a write to STDIN with an `exit` at the end of the script. Not only is this better style, it also allows `kill` to be more direct.

Fix #1032.