Add String#{concat,<<} specs for participating subclasses
Fix a macher to check "not subclass's instance" in String#+
Fix a macher to check "not subclass's instance" in String#%
Fix a macher to check "not subclass's instance" in String#crypt
Renamed kernel/hash_spec to kernel/Hash_spec.

Rubinius uses Hash_spec, other specs also use capitalized form (e.g.
Complex_spec). Most likely this naming inconsistency is the result of a
case-insensitive filesystem.
Hash with compare_by_identity should not copy keys
More Module#const_defined? specs.
Added specs for setting module names.
Added specs for Marshal.dump of Symbol with encoding.
Added spec for Marshal.dump with negative Float.
Remove duplicate spec that got readded in e729c830
Removed ridiculous MRI-specific spec.
Improved specs on Time#strftime with "%L".
Add spec for ancestors on a singleton class

MRI 1.9 did not include the singleton classes in the list of ancestors
but 2.x does.
Added comment to env dependent spec.
Failing spec for String#delete with multibytes.

It looks like the current implementation of String#delete! iterates over bytes
instead of characters. Oddly enough this seems to work for Japanese Kanji but
not for other multibyte sequences.

See #3019.
Specs for String#encode with :universal_newline.
Rewrote Method#arity specs.
Rewrote Proc#arity specs.
Rewrote UnboundMethod#arity specs.