Added method that allows a wrapped scope to be evaluated within the correct scope.

Currently, the `current_scope` when a wrapped scope body is `call`ed is always retrieved by the class in which it was originally defined. This means that a subclass of a relation that tries to evaluate that scope will return the same result as if its parent class evaluated that scope. In other words, that results will contain all passing records that are in the parent's relation, not just those of the subclass.

This change is meant to be applied atomically with https://github.com/rails/rails/pull/15355
Hmm, I don't see how it wouldn't if I were to just copy + paste one body into the other, but I included a check `@scope.respond_to?(:call)` which I think works out. Is this what you meant?