Remove need for macro instance var

Same as I did for `@collection` reflections, removed the need for the `@macro` instance var and it is now set in each association. Unfortunately it can't be left undefined in AssociationReflection. I am setting it to NotImplementedError since there is no default macro and it changes based on the reflection type. This error should never be reached.

This is follow-up to issue #16089