Small improvements to logging.

Add a new line to a long log line.
Disable name hashing for Java source files.

We don't have a way to extract used names in Java files so
we have to disable name hashing for Java source files.

This fixes source-dependencies/java-mixed test.
Mark source-dependencies/struct test as pending.

Unfortunately, name hashing is at odds with structural types. They
can be made to work together but it is not highest priority right now.
Make recompilation on macro definition optional.

Introduced a new incremental compiler option that controls
incremental compiler's behavior when it comes to macro definitions
and their client. The previous strategy was that whenever a source
file containing a macro definition was touched it would cause
recompilation of all direct dependencies of that file.

That strategy has proven to be too conservative for many projects
leading too many recompilations. This commit makes this behavior
optional with the default set to turn it off.