Removed problematic spec.

We need a better mechanism for obtaining the comparison value.
Added failing spec for ASCII-only String#encode!

String#encode! fails for ASCII=-only strings when
Encoding.default_internal is nil.

Illustrates issue #2878
Updated specs for Kernel.trace_var/untrace_var.
Added spec on String#count with multi-byte string.
Added spec on String#replace with strings having an invalid encoding.
HOME is not guaranteed to not end with a slash.

These two specs assumed that the HOME variable would never end with a slash,
which is not guaranteed at all. I bumped into this while running the specs on
Amazon CentOS, though I'm not sure if it's an OS thing or because the code was
running on an external network disk (/mnt).
Add spec for String#split with multibyte patterns
Add spec for thread status after fork
Move spec to it sets up the right encoding

This makes sure that the encoding is set before reading an external
file.
Setup encodings for encoding aware specs
Setup encoding for IO.read spec

Fixes an error when running this in a non UTF-8 terminal.
Added specs on main#define_method.
Added spec for #require of .rb vs .<dlext>.
Added failing spec for BasicObject::BasicObject.

This was added as a starting point for #2828.
Changed description of failing BasicObject spec.
Added specs on Kernel#to_enum with block.
Added specs on Time#zone when Encoding.default_internal is set.
add specs for Kernel.binding on 1.8 and 1.9+
Added spec on Dir.glob matching non-ASCII file paths.
Added spec on Array#drop after a shift.