ByteBuffer caches its length
ByteBuffer#discard raises an error when too many bytes are specified

Just like #read and the rest
Fixed a bug in the INET decoding

It didn't handle IPv6 values