merge revision(s) 44525,44534,44537: [Backport #9381]

	* hash.c (rb_objid_hash): return hash value from object ID with a
	  salt, extract from rb_any_hash().

	* object.c (rb_obj_hash): return same value as rb_any_hash().
	  fix r44125.  [ruby-core:59638] [Bug #9381]

	* hash.c (rb_any_hash): should treat the return value of rb_objid_hash()
	  as `long', because ruby assumes the object id of an object is `long'.
	  this fixes test failures on mswin64 introduced at r44525.

	* hash.c (rb_objid_hash): should return `long'.  brushup r44534.

	* object.c (rb_obj_hash): follow above change.
	  as `long', because ruby assumes the hash value of the object id of
	  an object is `long'.


git-svn-id: svn+ssh://svn.ruby-lang.org/ruby/branches/ruby_2_1@44846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e