Only call `.all` or `.scoped` when necessary

If we already have an ActiveRelation (i.e. scope-like) object, we don't
need to get a different scope back. Only raw model classes (that don't
respond to `each`) need to be coerced to an scope-like object.

This relates to #73