Standardise EXPOSE and INTERNAL macros to PRIVATE

We should rename all our EXPOSE and INTERNAL macros to PRIVATE.

Then we can simplify the PRIVATE patterns in legacy/trac#32798 (moved) and legacy/trac#32522 (moved).