Revert "Revert "Replaced our own command runner with the childprocess gem.""

This reverts commit e29c3b60cf2d363b71f43590a5ef5b0dc5576a33.
A hacky solution to running tty through the childprocess gem.