urban: updated pattern
ruby 1.9+: specify file encodings
Solve Socket vs URI IPv6 handling in Ruby
ruby 2.0.0: fix for changed @waiters in compat19

I don't really know what this is all about, but this
fixes a bug with the compat19 monkeypatching. @waiters
is now a Hash.

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=38109&view=revision
ruby 2.0.0: changes sigtrapping, fixes ThreadError

Ruby 2.0.0 crashes with "ThreadError: can't be called from trap context"
anytime a signal is received, because it tries to write a debug message
within the "trap context".
This changes signal handling so that signals are queued and processed
in the main loop.

More information: https://www.ruby-forum.com/topic/4411227
ruby 2.0.0: better fix for the ThreadError

I revisited my fix for the ThreadError in ruby 2.0.0
this doesn't use a queue for signals but just starts a
thread for each received signal, works much better for me.

It also fixes a bug in Bot#reconnect where the SystemExit
exception coming from quit is not handled correctly.