add mruby-enum-lazy mrbgem for Enumerable::Lazy
Hash#replace to preserve order; close #2001
protect NoMethodError from calling to_hash in ==/eql?; close #2002
call to_hash before replacing hash
implement Hash#initialize in C
merge test code from #2003
Merge branch 'master' into iij