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
Ahh okay. The code and deprecation warning in `ScopeWrapper.wrap` appears to be a little misleading. What do you think about keeping the check for `:call` there?