[cxx] Make the externC of icalls configuration-dependent instead of always. (mono/mono#17573)
There are pluses and minuses here:
+ Minimize externC.
+ Maximimze typesafe linkage.
- Minimize configuration-sensitivity.
- Maximize commonality across all configurations, so that
success in one configuration maximally but not 100% implies
success in others (which is why to avoid `#if` in general,
to contribute toward compilation success).
+ Use higher level macros to explain reason.
Even if ICALL_EXTERN_C was always externC (presently not),
using it instead of plain G_EXTERN_C offers a builtin comment.
Commit migrated from https://github.com/mono/mono/commit/
5237696f65cda0f079562838990b4effd4d65eee