Forgot call to super
Cache the result of asQualifiedName()
Rewritten PyQualifiedReference.collectAssignedAttributes() for better performance

The old implementation was based on the slow treeCrawlUp(), while the
new one iterates over pre-collected target expressions from nested Scope
instances.

The current version doesn't respect the position of assigned attribute
definitions relative to the initial element. It resolves to the first
one in the deepest scope.
Cache presence or absence of a user skeleton for file in its user data

PythonPathCache lookups are quite expensive, so don't use them if a
Python file doesn't have a user skeleton. Since most of the files do not
have skeletons, caching their absence is reasonable.
Merge branch 'python-performance'
unavailable api inspection: support for java 8 api
updated external tools. Added annoying *.whl for the needs of virtualenv.
Merge remote-tracking branch 'origin/master'
Merge remote-tracking branch 'origin/master'
a way to detect bundled plugins when run Idea from Idea
Merge remote-tracking branch 'origin/master'
DevKit "language": restrict Language.getRegisteredLanguages() results to those available in project/SDK (CR-IC-4017#c21280)
spring file based indexes/searchers
revert of accidental previous commit revert
replace SBKit stubs with jar (it's under GPL license and we do not redistribute it)
Merge remote-tracking branch 'origin/master'
remove AbstractMethodErrorWrapper