Add cross-platform interfaces for yui-compressor

 Sadly, there doesn't seem to be a consistent way to get stdin, stdout,
stderr and exit status for all the various platforms and ruby versions.
This is a first attempt that passes all the tests under:
* 1.9.2-p290
* jruby-1.7.3
* ree-1.8.7-2011.03

 Under the hood it uses the following interfaces:
* IO.popen4 for jruby
* Open3.popen3 for ruby 1.9+
* Open4.popen4 for ruby 1.8

 This means YUI::Compressor no longer depends on Popen4. In fact, if
you're running ruby1.9+ or jruby, there are no gem dependencies at all.