Merge pull request #26 from JetBrains/rr/klyuchnikov-annotations-fix

annotations fix
failing test for KT-4491

KAnnotator takes into account hierarchy when "resolving conflicts", but when propagating conflict resolution it groups all methods by signature without respecting hierarchy.
minor: removing double update

updateAnnotations does the same thing as removed if-block
minor: removing empty obsolete module kannotatorRuntime
minor: removing obsolete field `position` from `MethodTypePositionImpl`

(it was subsumed by relativePosition and was always 0)
minor: no need for Mock class - using library classes
minor: rollback workaround for fixed issue
minor: using sources.jar for guava and deleting guava java source files
Tests for annotation loading: refactoring, cleanup

* migrated to junit4
* short explanation for tests
* common code is extracted into test utilities
* removing @Deprecated stuff (there was a buggy version of IDEA annotations where @Deprecated was in signature, handling of this stuff polluted tests)
* test for #KT-4510
Testing hierarchy: refactoring

* migrated to junit4
* utilities are extracted
rest of functional tests: refactoring

* migration to junit4
* short explanations for each test
Integration tests: migration to junit4, short explanations
taking into account shift for instance/static methods #KT-4365 fixed
One more failing test - methodCallInsideTry
debug: min.kt - minimalistic inference
debug: utility for dumping class hierarchy into GDL format
debug: utility to dump method hierarchy into GDL
debug: utility to dump strongly connected components of a jar to GDL file
fixing propagation

@NotNull param annotation is propagated up, @Nullable param annotation is propagated down, @Nullable method annotations is propagated up, @NotNull method annotation is propagated down;
functional tests are modified, integration tests are not modified (failing)
tmp: including everything into output