Add ReusableByteArrayInputStream#readByte.

It throws EOF as god intended.
Type#decodeBytes now returns ByteLists instead of taking out buffers.

ByteList is a jruby type that underlies the native string type.  It
offers an easy to wrap sections of existing byte arrays with the
promise of exposing them as strings later.

These seem cheap enough to just construct and return, so long as we
aren't copying bytes (checked the source, it isn't.)