Disallow break or continue across a function boundary

Code containing breaks or continues that attempt to jump across a
function boundary weren't detected during analysis but would crash
the compiler during code generation. Add diagnostics for these kinds
of errors.

Example:

fun f() {
    while (true) {
        fun inner() {
            continue
        }
    }
}

 #KT-4334 Fixed
Merge pull request #388 from dezgeg/fix-jump-across-function-boundary

KT-4334: Disallow break or continue across a function boundary
Report CLASS_OBJECT_NOT_ALLOWED for local classes
Test data fixed
Copy type parameters for JVM function accessors

Otherwise generic signature wasn't correctly written to accessors, resulting in
classfiles not being valid and javac failing to compile Java sources against
them
Regenerate tests
Do not weakly retain caches whose computation has side-effects

Lazy scopes write REFERENCE_TARGET to trace as a side-effect, when weak caches are cleared, resolution may be repeated, and a rewrite error happens
Expose lazy scopes to enable calling forceResolveAllContents()
Allow to shorten class member references
Shorten references: Group elements by file before applying transformation
Implement rebinding of simple name references
Testing framework for Move refactoring
Avoid conflicts when moving members wiith package-local visibility
Add tests for Java "Move members" refactoring
 #KT-4459 Fixed
Add tests for Java "Move class/package" refactoring
 #KT-3626 Fixed
Add tests for Java "Move Inner Class/To Inner Class" refactoring
Add tests for Java "Move File" refactoring
Remove unused method
Reuse getQualifiedElement() function
Modified doRefactoring to allow occurrences to be specified
Added ifThenUtils