Make JavaClassFinder accept ClassId rather than FqName

ClassId has more information about the name which will be very useful when
implementing JavaClassFinder in reflection
Replace FqName by ClassId where possible in Java resolver
Extract JavaConstructor out of JavaMethod

Will be useful in reflection-backed implementation of Java structure, where
Constructor is not a Method and doesn't even inherit from it
Remove superfluous isVararg() from JavaMethod
Minor, add NotNull annotations to test sources
Minor, delete unused method in DataFlowInfo
Ignore absence of "val" on annotation parameters

A warning is reported, so we should behave as if the user had forgotten to
place a "val" modifier
Minor, include additional IDE modules to "IDE" scope
Remove JavaClass.getAllMethods()/getAllFields()

Their behavior is different in PSI and reflection (two things that this
interface is supposed to unify), so there's no point in making it interface
methods, rather we should just walk supertype hierarchy manually
Minor, improve multi-module java analysis test

- don't check descriptors from built-ins
- check that all descriptors were correctly resolved

(Otherwise the test failure error messages were very cryptic.)