Add test for sbt/sbt#1142
Classes that only inherit a macro don't have a macro

Prior to this commit, a class that inherited a macro from another
class was considered having a macro. Now, only classes that
explicitly define a macro are considered as having a macro.
Update scripted test for inherited macros

This test verifies that a whitespace change to a file that inherits
a macro does not trigger the recompilation of the files that depend
on it by composition.
Correctly determine whether inner classes have macros

The previous fix didn't handle correctly nested classes. That is, if
a nested class inherited a macro, it was still considered to have a
macro.