Add spec on Hash[] with default_proc.
Fixed Hash[] with default_proc.
Retry on sysread since it should behave in a blocking fashion
Fixed broken Hash#to_h after 0c40da7.
Fix RUBY_PLATFORM constant to return same value as on MRI

Fixes #2588
Merge pull request #2589 from razielgn/hash-constructor-default_proc

Hash[] strips default_proc.
Fix specs for non shared behavior

These specs should not be shared, since they don't apply for example to
IO#syswrite.

Also adds a case for binary writing for IO.write.
Don't try to transcode if external encoding is binary encoding
Merge remote-tracking branch 'origin/master' into compiler

Conflicts:
	kernel/common/hash20.rb