New Intention Action: Invert If Condition

Inverts the conditional expression in an if expression.
Implemented Operator To Function intention action.

Converts +a, --a, a * b, a..b, a %= b, a in b, etc. to their function call counterparts.
KT-5012 Autocompletion is completing to FQN and not the value

 #KT-5012 Fixed
 #KT-5006 Fixed
Smart completion: fixed addition of tail chars after true, false and null
Smart completion: added a test
Completion: added a test
JavaDescriptorResolver supports resolving classes by PSI elements, not by FqNames
Provide access to package fragments generated for static members of Java classes
KT-5007 "Specify Kotlin signature" action doesn't work

Globally cached BindingContext used

(cherry picked from commit 5a641fc)
All bounds may be specified in 'where' clause

Exception fixed in AlternativeMethodSignatureData
Guard loading top-level classes with a check that they are not Kotlin binaries
Add tests on Kotlin against compiled Java+Kotlin

The original purpose was to create a test that parameter names are inherited on
a K-J-K hierarchy when "K-J" is compiled to bytecode, but that's not possible
right now because of KT-4509
A test for the case fixed in 291741754b3dcb98352968f94589ed5d51a85f6e

When Java binaries refer to Kotlin binaries, and then some Kotlin source refers to the same Kotlin binary class, we should load this class consistently
A test for the case of finding binary class for a nested Java class
Don't log stack trace for warning

These stack traces are confusing and create a feeling that an exception was
thrown
Extract DescriptorUtils.getContainingModule()
Pass module to GenerationState

- get rid of a hack there which was used to obtain any module, to be used in
  ReflectionTypes
- delete unused getError() in LightClassConstructionContext which was always
  null
- fix some minor warnings
Use module instead of KotlinBuiltIns in ReflectionTypes
Introduce module 'reflection', move KFunctionN to it

Metadata for KFunction classes is now longer serialized along with built-in
classes. This effectively means that it's no longer possible to find KFunction
classes via dependency on built-ins. There should be a kotlin-runtime library
in the specified classpath for reflection types to be resolvable.

A lot of tests were moved and changed, because tests on callable references
require stdlib in classpath from now on
Split ant 'runtime' target to 'runtime.jvm' and 'stdlib'