Use Ruby 1.8-compatible hash syntax
Replace stabby lambda with lambda keyword
Replace ::BasicObject with Naught::BasicObject
Conditionally define respond_to?/respond_to_missing?

I tried doing the same thing with alias_method/undef_method but it
caused errors on JRuby.
Ruby 1.8, Rubinius, and JRuby do not print the indication of blocks
Fix specs on Rubinius
Fix specs on JRuby
Add pry as a development dependency
Fix define_method with blocks in Ruby 1.8 and earlier

This is required to support Ruby 1.8 and earlier, which doesn't allow
define_method to take a block that takes a block argument.

See http://coderrr.wordpress.com/2008/10/29/using-define_method-with-blocks-in-ruby-18/
Test against various Ruby implementations