using child_process

The orginal gem uses PTYBackground process, which appears to have very unreliable behavior
with JRuby.  Forking w/JVM is bad... Instead of using background_process, we use
child_process.  child_process has special handling for jruby.