Refactor OverrideImplementWithLibTest

Use JdkAndMockLibraryProjectDescriptor instead of a jar file, which needs to be
regenerated every time binary format changes
Refactor TopLevelMembersInvocationTest

Compile library dependencies in the test instead of storing them as jars in the
repository. Reuse MockLibraryUtil, move it from idea tests to compiler-tests
Refactor CompileKotlinAgainstBinariesCustomTest

Extract common logic, add NotNull annotations
Merge two tests with almost the same logic
Refactor CompileKotlinAgainstCustomBinariesTest

Each test now supplies its own classpath producer, which for now finds all jars
in the test data directory, but later will compile them using CLICompiler
Remove binary test data for some tests

Launch CLICompiler instead to compile it
Remove binary test data for tests with broken jars
Remove binary test data from completion tests

Delete CompileBinaryTestData script, since there are no tests with binary test
data left in the repository
Minor, use List<File> directly instead of Function0