Add support for `nameHashing` and `recompileOnMacroDef`

Add support for two new incremental compiler options introduced in
sbt 0.13.2:

  * `nameHashing` which enables new, experimental incremental compilation
    algorithm
  * `recompileOnMacroDef` which controls heuristic related to how
    macro definitions and their dependencies are handled

Note that since `recompileOnMacroDef` is turned on by default we introduced
`recompileOnMacroDefDisabled` command line option which changes the
default value to be off.

This builds on top (and supersedes) #41.