Trying solve an issue with slow connects
Clarified comments in NodeConnection
Fixed a connection issue in JRuby

For some reason JRuby raises EINPROGRESS in this particular case.
Fixed another JRuby connection issue

Must do another connect_nonblock before writing to the socket when it first becomes writable.
Added perftools.rb for MRI
No longer waiting forever in the fake server
Simplified one of the IoReactor tests

Hopefully this will make it easier to understand why it fails on Travis
Run the fake server on a random port
Connecting and binding to 127.0.0.1 in tests

Instead of Socket.gethostname and localhost, the former doesn't seem to resolve right in Travis.
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.