Add pragma(LDC_extern_weak) for symbols with (ELF) weak linkage.

For now, this is only an internal feature to be used in the
implementation of rt.sections_linux.
Fix shared library collision detection.

This works around a linking problem with ld.bfd and --gc-sections
where __bss_start/_end become (ELF) local symbols in the main
executable. For further discussion, see:
 - http://forum.dlang.org/post/ferkvfamznsuhonokhco@forum.dlang.org
 - https://sourceware.org/bugzilla/show_bug.cgi?id=13683
 - https://issues.dlang.org/show_bug.cgi?id=879