Disable macro heuristic for inherited macros (sbt/sbt#1142)

> At the moment, any change (even whitespace change) to a file containing a macro will trigger invalidation of files that depend on it. The reason is that we don't have any means to detect change to implementation of a macro that could affects clients that call it so we err on conservative side.

This pull request fixes this behavior. Classes that inherit a macro are no longer considered as having a macro.

Please see [this discussion](https://github.com/sbt/sbt/issues/1142).