Up childprocess dep to 0.4.1
core: use Process#wait since childprocess bug is fixed
providers/virtualbox: cap to read forwarded ports
core: keep process group for SSH childprocess
communicators/ssh: cache ssh_info

This lowers the number of subprocesses with VirtualBox quite a bit.
communicators/ssh: more verbose output about waiting for SSH
communicators/ssh: properly allow errors through while waiting
providers/virtualbox: only clear forwarded ports if there are any
core: ui can hide details