Correctly interpret python __slots__ that are external references

The commit message for ``8a038fa`` is the whole story, but the short version is that PyCharm should flag attribute references that it can prove are incorrect.

This is pretty much the opposite of [PY-10158](http://youtrack.jetbrains.com/issue/PY-10158) :-)

BTW, I ran the PyCharm test suite and there were two failures before I touched it:

    java.lang.NegativeArraySizeException
    	at com.intellij.testFramework.PlatformTestUtil.tryGcSoftlyReachableObjects(PlatformTestUtil.java:784)
    	at com.jetbrains.python.PyDeprecationTest.testFileStub(PyDeprecationTest.java:78)

    java.lang.NegativeArraySizeException
    	at com.intellij.testFramework.PlatformTestUtil.tryGcSoftlyReachableObjects(PlatformTestUtil.java:784)
    	at com.jetbrains.python.PyDeprecationTest.testFunctionStub(PyDeprecationTest.java:49)