Raise an error if `scope` or `enum` is about to add a conflicting method to the class

See #13389 for details. I left out case 4, because that does not particularly concerns me, and I don't think checking `klass.new.respond_to?(...)` is a good idea.

cc @senny @dhh