Kgio 2.9.0 - kinder, gentler I/O for Ruby + Unix

kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS. It is intended for use with the
Unicorn and Rainbows! Rack servers, but may be used by other
applications (that run on Unix-like platforms).

Changes: cleanups, bug fixes, minor improvements

This adds a new kgio_syssend method for Ruby 1.9+ which behaves
like BasicSocket#send, but will not raise exceptions on EAGAIN.

Eric W. (12):
test_poll: remove race prone test_poll_EINTR_changed test
tryopen: remove RARRAY_PTR usage in init
read_write: remove the rest of RARRAY_PTR usage
my_writev: stylistic fixes
Rakefile: kill raa_update task
avoid downsizing casts
connect: constify RSTRING-related things
set RSTRING_MODIFIED where appropriate for Rubinius
split read_write.c into {read,write,writev}.c
add kgio_syssend method to wrap send(2)
write: correct check for various blocking regions
tryopen: additional debug information for bad Errno values

Hleb V. (1):
Don’t use deprecated api

Just pushed out 2.9.1 which has some Ruby 1.8.7 fixes,
no need to upgrade if you’re on Ruby 1.9+

Thanks to Christopher Rigor for this release.

Eric W. (2):
only define and test kgio_syssend on 1.9+
various 1.8.7 fixes

This release is for compatibility with future releases of mainline ruby,
as rb_thread_blocking_region is removed in r44955 of ruby trunk
This also avoids deprecation warnings fo rb_thread_blocking_region
2.0 and 2.1.