Deprecate source_macro

`source_macro` is no longer used in any Active Record code. I've chosen to deprecate it because it was not marked as nodoc and may be in use outside of rails source. 

If we prefer to remove it I can alter the PR

 See #16353 for how it is no longer used.