Switch from IncOptions.copy to IncOptions.with* methods.

The copy method on IncOptions has been deprecated because it can't be
easily evolved in binary compatible way. As a replacement, with* methods
for parameter has been introduced. Let's switch to those methods, isntead.
Add support for IncOptions.{nameHashing, recompileOnMacroDef} flags

Add support for new incremental compiler options introduced in
sbt 0.13.2:

  * `nameHashing` that enables new (experimental) incremental compilation
    algorithm
  * `recompileOnMacroDef` that controls the behavior of a heuristic
     that takes care of invalidating of source files that depend on
     macros

Those two options are directly exposed as IDE project settings.

Other than that, I've made one small refactoring. We've switched to a new,
overloaded variant of `IC.readAnalysis` that takes IncOptions as an
argument. The new variant returns the right variant of analysis in both
cases when name hashing is enabled or disabled.

Fixed #1002117
Merge pull request #701 from gkossakowski/name-hashing

Add support for name hashing