self-pipe minus exit check loop

Fast in rubinius (proper threading), not fast in MRI (green threads).
Maybe release when on a properly threaded system?

The downside of the other self-pipe implementation is it is more processor
intensive (if you are actually trying to do something else while
waiting on your scmd.

Anyway, notes for keeping this commit around.