PY-14222 Don't allow recurive literal collection types

They used to cause infinite recursion in unpredictable places. Limiting
recursion during type inference is a bit easier to understand that doing
that during type checking.
Try to update import inplace on moving its target (PY-13870)

For example, a conditional import must remain under its condition
during the refatoring.
Added class back to the location string of a function (PY-14205)
Merge branch 'python-fixes'
[vcs] IDEA-87769 Don't report unimportant roots in notification

Even if there are other roots to report.
+ simplify the filtering code.
Get rid of yellow code
hide Table hints upon dragging/resizing columns
Treat 'basestring' as an alias for 'str | unicode' in Python 2 (PY-11541)
Merge remote-tracking branch 'origin/master'
force reload build project settings if bytecode target level settings change
compiler tests: fixed 'findClass' method for classes from non-default packages