subclassing IO works properly for pipe/popen
subclassing IO works properly for pipe/popen

Subclasses of IO should return objects of the
subclass, not the core IO class.

Closes #500.

Signed-off-by: Brian Ford <31227094f3baea959abbdb82d34f0bc93c1f3b36@engineyard.com>

dblock/rubinius,pH14/rubinius,kachick/rubinius,Wirachmat/rubinius,slawosz/rubinius,jsyeo/rubinius,kachick/rubinius,dblock/rubinius,benlovell/rubinius,travis-repos/rubinius,ngpestelos/rubinius,benlovell/rubinius,dblock/rubinius,pH14/rubinius,pH14/rubinius,Azizou/rubinius,sferik/rubinius,lgierth/rubinius,Azizou/rubinius,travis-repos/rubinius,heftig/rubinius,jemc/rubinius,slawosz/rubinius,Wirachmat/rubinius,benlovell/rubinius,Wirachmat/rubinius,ruipserra/rubinius,jsyeo/rubinius,ngpestelos/rubinius,Azizou/rubinius,kachick/rubinius,sferik/rubinius,dblock/rubinius,lgierth/rubinius,digitalextremist/rubinius,lgierth/rubinius,lgierth/rubinius,lgierth/rubinius,benlovell/rubinius,heftig/rubinius,pH14/rubinius,ruipserra/rubinius,mlarraz/rubinius,kachick/rubinius,travis-repos/rubinius,kachick/rubinius,digitalextremist/rubinius,digitalextremist/rubinius,digitalextremist/rubinius,slawosz/rubinius,Azizou/rubinius,ngpestelos/rubinius,jemc/rubinius,slawosz/rubinius,mlarraz/rubinius,ruipserra/rubinius,ruipserra/rubinius,travis-repos/rubinius,Wirachmat/rubinius,jsyeo/rubinius,dblock/rubinius,jemc/rubinius,jsyeo/rubinius,ngpestelos/rubinius,jemc/rubinius,ngpestelos/rubinius,slawosz/rubinius,Azizou/rubinius,sferik/rubinius,jemc/rubinius,Azizou/rubinius,travis-repos/rubinius,jsyeo/rubinius,ruipserra/rubinius,mlarraz/rubinius,Azizou/rubinius,kachick/rubinius,pH14/rubinius,dblock/rubinius,travis-repos/rubinius,Wirachmat/rubinius,jsyeo/rubinius,mlarraz/rubinius,ruipserra/rubinius,sferik/rubinius,mlarraz/rubinius,digitalextremist/rubinius,heftig/rubinius,heftig/rubinius,travis-repos/rubinius,jsyeo/rubinius,heftig/rubinius,digitalextremist/rubinius,mlarraz/rubinius,ngpestelos/rubinius,sferik/rubinius,ngpestelos/rubinius,pH14/rubinius,benlovell/rubinius,mlarraz/rubinius,benlovell/rubinius,kachick/rubinius,pH14/rubinius,benlovell/rubinius,sferik/rubinius,lgierth/rubinius,dblock/rubinius,heftig/rubinius,jemc/rubinius,ruipserra/rubinius,lgierth/rubinius,heftig/rubinius,Wirachmat/rubinius,jemc/rubinius,slawosz/rubinius,slawosz/rubinius,kachick/rubinius,Wirachmat/rubinius,digitalextremist/rubinius,sferik/rubinius