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)
Extract reflection implementation to module runtime.jvm
Minor, fix compilation in module reflection.jvm