Refactored getPresentation() for Python elements

Elements no longer inherit default presentation from
PyPresentableElementImpl. Most of the presentation logic has been moved
from PyStructureViewElement to getPresentation() of particular elements.
Added PyElementPresentation class that can be customized via
subclassing.
Removed old nullity checks
Simplified static member access
Don't include class name into the location string for a function

For other languages we use the Class.Function notation. The class name
can be included into the function name by a caller if needed.
Use ItemPresentation.getPresentableText() instead of checking for PyFunction directly
More generic PyHierarchyNodeDescriptor instead of just PyTypeHierarchyNodeDescriptor
Reused PyHierarchyNodeDescriptor

Removed PyCallHierarchyNodeDescriptor, updated tests to include the
new presentation of tree elements.
Compare hierarchy trees by textual tree dumps
Fixed nullity annotation (PY-13840)
Fixed nullity annotation
Use standard text attributes for the presentable text of a hierarchy element
Disable move refactoring for non top-level elements in hierarchy trees (PY-13841)

Move refactoring from hierarchy trees skips tryToMove() and invokes
just canMove() and doMove().
Apply search scopes even if there is no base class for an element
Extracted common abstract base class
Converted PyStaticCallDatamanager to pure functions in PyStaticCallHierarchyUtil
Removed base on this function action and its shortcuts
fixed root element for win help for PyCharm Edu.
Merge remote-tracking branch 'origin/master'
IDEA-129492 Throwable at com.intellij.debugger.engine.SuspendContextImpl.a
IDEA-129492 Throwable at com.intellij.debugger.engine.SuspendContextImpl.a