Common code extracted
Navigation to iterator(), next(), hasNext() through 'in' in for-loops
Navigation to invoke() from {}

Example:

foo <caret>{}
Setup downloading kotlin plugin

TeamCity will use downloaded jps plugin for build
Add dependency for idea module from kotlin runtime
Add ability to configure build type id for downloading bootstrap compiler
Extract getEnumEntriesScope utility method
Support enums as annotation arguments in deserialized Kotlin descriptors
Resurrect JetValueParameter

Its name() and type() methods are still used in Kara (the latter just to check
if the type is nullable, so only the first character is needed)
KT-3893 Fixed

- Added modifier check for parameters in constructors.
- Added modifier check for parameters in functions.
- Added modifier check for parameters in try/catch
Merge remote-tracking branch 'origin/pr/303'
Constants moved to the top
Using annotations from reexported libraries
JS backend: cleanup -- drop NUL symbols
JS backend: fixed wrong behavior when using nullable type in string template.

(cherry picked from commit 3a16e95)
JS backend: refactoring -- prepare to fix KT-2696
JS backend: support object declaration in other declarations.

#KT-2696 fixed

(cherry picked from commits 8931d13, 627b100 and f6b8686)
JS backend: added @lends annotation for namespace members (ecma5 only)

(cherry picked from commit 9ae9a60)
JS backend: ensure enumerability for object literal properties.
Namespace lends annotation improved (root).

(cherry picked from commit 246c001)
JS backend: don't create namespace entry if it is empty.

(cherry picked from commit 79d9ef4)