No longer require'ing resolv-replace

It's too invasive, other things break.
Replacing uses of strings as byte arrays with ByteBuffer
Replaced all uses of ByteBuffer#slice! with #read

Plus a few other things to get that to work
ByteBuffer no longer slices the underlying string
Fixed a ByteBuffer encoding issue in JRuby

A previously empty string adopts the encoding of the appended string.
ByteBuffer cuts off the internal buffer every megabyte
Removed ByteBuffer#read_byte

Trying to streamline the API
Added an switch to turn off SimpleCov
Removed ByteBuffer#[] + #discard returns self
Reordered the methods in NodeConnections

I had to scroll up and down all the time to read #perform_request and #handle_write
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
Changed the buffer cutoff slightly
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
ByteBuffer again caches its length
No need to dup in ByteBuffer#to_str
Decoding#read_(short_)bytes! no longer returns a ByteBuffer

Huge savings in not creating a ByteBuffer (which will dup and force_encode and whatnot) when the first thing that happened in every case was #to_s