Record dependencies on macro arguments

> Macros take arguments as trees and return some other trees; both of them have dependencies but we see trees only after expansion and recorded only those dependencies.

(from [this discussion in sbt-dev](https://groups.google.com/d/msg/sbt-dev/zDOIFDSNRrk/_YTVn7bRJb0J)).

This pull request solves this problem by looking into the attachments of the trees that are supposed to contain originals of macro expansions and recording dependencies of the macro before its expansion.