Merge pull request #2385 from ryoqun/encoding-agnostic-compare

String#<=> should first compare byte-wise, then encoding-wise
Add equality spec for UnboundMethod with block
Fix equality check for having a block

Fixes #2384
Use US-ASCII as the default encoding for Symbol for now

This is not always correct, but much more compatible. For example
dumping a hash with symbol keys to YAML would break since the string was
marked as binary encoding. When retrieving it would load the original
symbol name.

We need to add proper symbol encoding support in the future, but for now
this is a better hack.
Remove tags for passing specs
Added missing #include for OS X 10.9 cc.
Abstract use of tr1 a bit more.
Hack fix for tr1 in Melbourne 1.8 on OS X 10.9.
Improved error message for invalid rbc file.
Revert 04d8acbc7650df160d74f1e7fc5c741b32b093b9

This code is not portable under OS X 10.9 clang 5.0.
Revert 65279b7352afa448d3ef0798039976d0668f0007.

This code is not portable under OS X 10.9 clang 5.0.
Fixed use of tr1 in Rubinius tooling.
Fixed running VM tests on 10.9.
Use String#bytesize in String#{eql?,===,==}
Add specs for String#{eql?,===,==}
Make String#{eql?,===,==} encoding-aware
Use Encoding.default_external in File.expand_path
Remove passing spec tags
Add a spec for Kernel#` and encoding
Use Encoding.default_external in Kernel#`