Ask SILFunction link entities' clang nodes for weakness when applicable (#2822)
* Provide ways to get back to the original Clang declaration from
a SILFunction or SILGLobalVariable.
This will be used as one step towards moving IRGen off of the
global external-definitions list.
* Ask SILFunction link entities' clang nodes for weakness when applicable
When importing C functions with availability attributes, we don't
properly use that information to decide whether a symbol should be
weak_extern, causing load failures in dylibs that reference these
symbols when deployed to an older OS.
This is a very targeted fix and we need a better architecture for
deciding this.
rdar://problem/26359452