Switch from child processes to ssh2

This makes things more lightweight (no child processes), more cross-platform, and easier to manage/control (no output scraping).