ByteBuffer cuts off the internal buffer every megabyte
Removed ByteBuffer#read_byte

Trying to streamline the API
Removed ByteBuffer#[] + #discard returns self
Added ByteBuffer#read_{int,short,byte} and removed #unpack

Also made #read raise RangeError.
Rewrote the int and short decoding

Seems to have yielded a small speed boost
Rewrote ResponseFrame#convert_type

Hopefully it's creating less objects now