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.
Minor. Added toString() to CompilerConfiguration.
Removed passing incremental cache base dir via module script.
Passing services via type-safe container instead of map.
Passing condition to prefer parent class loader as a parameter to preloader.