Do not record hidden functions in library summaries.
Do not record hidden functions in library summaries.

These functions are only visible within their module.  Adding
them to the summary can introduce linker errors (and isn't correct,
in any case).

Also, make protected functions "weak" linkage since they are
overridden by local copies.

travitch/foreign-inference,travitch/foreign-inference