Fix last if-statement in block codegen

 #KT-3203 Fixed
no senseless comparison for error type
supertype of error type should be an error type, not any
EA-36903 - ISE: JavaTypeTransformer$.visitClassType Fixed
Utility methods moved to a utility class
Unneeded lock & on-demand initialization removed
Renamed Matcher -> NavigationStrategy. Extracted anonymous classes.
Renamed Matcher -> NavigationStrategy.

Extracted anonymous classes. Renamed methods.
receiverType parameter.
Removed constructor parenthesis for named objects and enum entries.
Supported navigation to decompiled named object and its members.
Supported navigation to source of named object and its members.
Simplified JetClsNavigationPolicy.
Got rid of code duplication.
Replaced some ifs with asserts.
Minor. Renamed variable.
Moved extracting member scope to separate methods.
Simplified method.
Annotated with @Nullable/@NotNull.
Replaced JetFunction with JetNamedFunction.

Replaced JetDeclaration with JetNamedDeclaration.