Remove need for macro instance var

Same as we did for collection, removed the `@macro` instance var
and it is now set in each association. Unfortunately it can't be
left undefined in AssociationReflection so it has to be set there.
For now I am setting it to NotImplementedError since there is no
default macro and it changes based on the reflection type.
Merge pull request #16198 from eileencodes/remove-need-for-macro-instance-var

Remove need for macro instance var