Add spec for Marshal.dump with an IO with encoding
Call IO#binmode if it's defined when marshalling

Fixes #2583
Add specs on Marshal#dump with Time.
Add specs on Marshal#load with Time.
Fix Marshal#dump with Time.
Fix Marshal#load with Time.
Remove Enumerator#enum_with_index on 1.9 and later
Remove duplicated Enumerator#with_index definition on 1.9 and later
Add a Enumerator::Lazy#{to_enum,enum_for} spec
Fix Enumerator::Lazy#{to_enum,enum_for}

Fixes #2585
Add a Module#include spec for 2.1 visibility modifying

Follow MRI r42810(from ticket#8846)
Update a Module#prepend spec for 2.1 visibility modifying

Follow MRI r42810(from ticket#8846)
Time: store zone in a slot.
Merge pull request #2547 from razielgn/time-marshal-ivars

Fix Time marshaling of instance variables.
Merge pull request #2586 from kachick/issue-2585

Fix #2585
Merge remote-tracking branch 'origin/master' into compiler
Fixed visibility of Module.include, prepend.