* array.c (rb_ary_and): defer hash creation and some refactoring.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e