minor optimization: each_value instead of values.each
Isolate original_method_from_ancestry
Handle Ruby 2.1 with full ancestry
Merge pull request #257 from marcandre/ruby_21

Ruby 2.1 compatibility
BasicObject defines #__id__ but not #object_id.

Thus, we need to use #__id__ as the object id.
object_id => __id__

I forgot to change it here.
On 1.9.2, BasicObject does not define __id__.

This was added in 1.9.3:

http://bugs.ruby-lang.org/projects/rurema/repository/revisions/5085

So, in order to support mocking or stubbing a BasicObject-based proxy
in 1.9.2, we need some special handling.
Merge pull request #259 from rspec/fix_proxy_for_basic_object

BasicObject defines #__id__ but not #object_id.