Made incremental cache per-module.

Reused IDEA framework which manages per-module storage.
Moved incremental cache API to separate package.
Passing class loader instead of factory to compiler.
Removed storing module ids in incremental caches.
Made compiler report source to output mapping when invoked from JPS.
Made incremental cache nullable. In tests, JPS plugin may be in classpath, so cache provider implementation will be visible, but be actually empty.