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
Hides the Scala version chooser if runtime < 2.11

The possibility to build on different source level is only
available from Scala 2.11.
Do not show the UI if not applicable.
Merge pull request #701 from gkossakowski/name-hashing

Add support for name hashing
Merge pull request #705 from skyluc/issue/xsource-UI-only-for-211-and-better

Hides the Scala version chooser if runtime < 2.11
Filter both -Xsource and -Ymacro-expand options from the build compiler.

The two options are needed to put the presentation compiler in compatibility
mode, but they should not make it to the build compiler. (2.10 does replies
with `bad option:-Xsource`, for example)
Merge pull request #704 from dragos/issue/filter-macro-noexpand

Filter -Ymacro-expand from build compiler