Refactoring: method rename resolveToExpression -> resolveToElement
Additional resolve for annotations in lazy resolve
Additional resolve for type parameters and constraints
Make type parameter name be always notnull

Fix java.lang.AssertionError: @NotNull method org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyTypeParameterDescriptor.getName must not return null
Refactor additional resolve for reference in packages
Make additional resolution work for descriptors
Don't call resolve to descriptor for class parameter
Add additional resolve for class parameter
Resolve descriptors in error class objects
Refactoring: use utility method for getting binding context with resolution for element
Cache getting lazy session

- Introduce analyze result with lazy session
- Renew result on each modification or ProcessCancelException occured
- Use session result everywhere in the project
Thread safe lazy import scope