Changes to CrossPlatformCmd#system

I implemented it using Process#spawn instead, to get lower-level
access to the file descriptors (which were failing on Ruby 2.0.0).

Hopefully this works on 2.0; it does on 1.9.3 and on Windows, so
it should hopefully do the same for RMI 2.0.

I would appreciate a code-review on this, as it's a bit hard to code
these things correctly. More specifically, how to interleave stderr
with the output and how to handle the thread in case of errors.

It's also hard to know what system (OS) edge cases there are.

Removed #shie tests as that's pretty much covered by the tests right
above.

/cc @AnthonyMastrean, @neochrome