Use ruby 1.8-compatible hash syntax
Fix tests for ruby 1.9, make them run on 1.8.7

This removes several incompatibilities between the implementation made
on ruby 2.0.0 and older ruby versions.  Ruby 1.8.7 will be fixed in a
future commit.
Fix unused variable warning
Sort gem.deps.rb platform map entries
Fix gem.deps.rb tests for ruby 1.8

This required some changes to with_engine_version to account for the
missing RUBY_ENGINE constant on ruby 1.8.