Enable IO.select to tell if an incoming IO-like has buffered data.

To fix JRUBY-6874, we chose to introduce a new ReadBuffered
interface that SSLSocket could implement to indicate if it had
already read ahead and had data available. However, ReadBuffered
had to be introduced into JRuby proper so that JRuby code unaware
of SSLSocket could see it. This meant that SSLSocket would depend
on an interface only available in JRuby 1.7.5 and higher, breaking
backward compatibility.

In order to avoid this problem, I introduced a new class
SSLSocket2 that extends SSLSocket and implements ReadBuffered. If
the ReadBuffered interface is available, SSL socket construction
will return an SSLSocket2 and the fix works. If ReadBuffered is
not available, the instances will be SSLSocket and the fix is not
applicable. Because of the lazy nature of JVM class linking, this
works because SSLSocket2 is never referenced or instantiated when
we know it won't link.

This is a bit of a hack...but it's not too bad.