Fix interaction between ClassVar in protocols and class objects (#13545)
Fixes #13537
I also discovered another similar false negative, when a property in protocol was allowed to be implemented by an instance variable in class object. This is also unsafe because instance variable may not be present on class object at all. Only class variables are allowed (similar to mutable attributes in protocols).