Extract SAM constructor resolution logic to a component
Minor, merge two sematically identical functions
Move SAM adapter resolution logic to SamConversionResolver
Move SAM function type calculation to SamConversionResolver
Move SAM resolution to frontend.java
Move utilities out of 'core' to where they are used
Minor, get rid of SAMs in some loadJava tests
Minor, change annotation in test data

To fix this case in an upcoming test which adds retention(runtime) to all
annotations (which resulted in duplicate annotation here)
Rename JavaResolverPsiUtils -> JavaResolverUtils
Get rid of underscores in private property names

They were used to workaround duplicate signature errors, but this is no longer
relevant since no accessors are generated for private properties with backing
fields
Update lazy logs after field rename
Extract reflection implementation to module runtime.jvm
Minor, fix compilation in module reflection.jvm
Configure modules 'reflection' and 'reflection.jvm'

Add source roots for IDE features to work in sources, but exclude from Make:
these modules are compiled by the new compiler from build.xml and some weird
errors may arise if we compile it with the old compiler (and also output of
that compilation won't be used anyway)