Enable name hashing incremental compilation by default.

This commit changes the default value of `IncOptions.nameHashing` to be set to true. It means, the improved incremental compilation algorithm known as "name hashing" will be enabled by default.

In order to disable it, users should add this to their sbt configuration:

```
  incOptions := incOptions.value.withNameHashing(false)
```

Number of tests has been cleaned up as part of this change. All tests that were marked as name hashing specific are removed. The list includes:

  * constants-name-hashing
  * import-class-name-hashing
  * java-static-name-hashing
  * macro-name-hashing
  * struct-name-hashing

We'll keep just regular version of those tests. The tests will just exercise the default algorithm: name hashing. This is the first step towards phasing out of the old incremental compilation algorithm.

Apart from that, a few tests changed its status due to enabling name hashing algorithm.

The `constants` test has been marked pending due to issue described in #1543.

The `import-class` test has been marked as passing because name hashing tracks dependencies introduced by import statements correctly, now.

The `macro` test has been marked as pending due to issue described in #1544.

The `struct` test has been marked as pending due to issue described in #1545.

The `java-static` has been slightly modified to exercise just static field and not run into the same issue as with `constants` test.

There are no other known issues related to name hashing so we conclude that name hashing is ready to be enabled by default for all sbt, Scala IDE and zinc users.