Make trailing whitespace consistent across all files
Rename conversions_spec.rb to explicit_conversions_spec.rb

Rename for consistency and clarity vs. implicit_conversions_spec.rb.
Run specs in random order to catch order-dependency bugs
Use the new expect(...).to receive syntax
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 Ruby 1.9
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/
Add Ruby version guards for explicit conversion specifications
Refactor ConversionsModule to be an actual Module

ConversionsModule was previously a class that needed to be initialized
with two arguments: null_class and null_equivs.

Instead, these arguments are passed via Module#included by setting a
constant on the null class, including the module in the null class, and
then removing the constant and undefining the included methods.
Test against various Ruby implementations