JBMAR-160: fixes for JDK 8

https://issues.jboss.org/browse/JBMAR-160
I don't recall exactly but I believe that if the reader leaves data on the stream, the framework consumes it.  If the reader tries to consume extra data, it will read -1 (or throw EOFException but only in the case that readByte or readUnsignedByte is called; read is supposed to return a -1).

What I don't understand is, why is it that commenting out a read() causes an exception in readUnsignedByte (with read() nowhere on the stack trace)?