make sections_elf_shared work with FreeBSD

- use local symbol to get handle of druntime
- relocate elf stringtable entry
- dlopen(RTLD_NOLOAD) increfs on linux, but not on FBSD
- use getprogname instead of program_invocation_name
use specialized _rtls_add_phdr on FBSD

- also add @nogc overload to dl_iterate_phdr and such