posix-spawn relies on a C extension. This does work under JRuby, but it
won't work on Travis CI as they disallow JRuby C extensions, as they are
considered to not be a good practice.
Instead we are using either Process.spawn on Ruby 1.9, or the
childprocess gem on Ruby 1.8. childprocess uses native JVM APIs on
JRuby, and fork+exec on others.
I'm a bit stupid for not testing it, but Ruby does not automatically
reap the child processes, so without this we get lots of orphaned
processes. Not good!
sfl has been replaced with posix-spawn now anyway, so there is no
forking.
This reverts commit 47a310dbdd.
The sfl library uses fork { exec ... } which meant that the at_exit hook
got copied to child processes which would then kill other stuff.
I don't think the at_exit hook is necessary, given that Ruby will kill
child processes at exit, so just remove it.