merge revision(s) 43682,43727,43752,43759: [Backport #9560]

	* lib/delegate.rb (Delegator#send): override to get rid of global function interference.
	  [Fixes GH-449]

	* lib/delegate.rb (Delegator#send): separate from method_missing so
	  that super calls proper method.

	* lib/delegate.rb (Delegator#method_missing): try private methods defined in
	  Kernel after the target.  [Fixes GH-449]

	* lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set.

	* lib/delegate.rb (DelegateClass#__getobj__): ditto.


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