Add CMSG_ALIGN and CMSG_LEN for Linux
Move the size_t cast inside the comparison so the result of CMSG_FIRSTHDR is a pointer to the first header
Note about protection of CMSG_NXTHDR
Mark at least some of CMSG_* pure, because they are
Add pure nothrow and @nogc annotations
Add inout qualifiers to CMSG_* "functions"

These are macros in the C headers, so this functionality matches there.
EXCEPT for CMSG_NXTHDR, which is a function.  It doesn't actually take
const arguments...
Add CMSG_SPACE for Linux
Make CMSG_NXTHDR a function instead of the alias, since the alias target is private
fix Issue 11216 - Make synchronized statement `nothrow`

- require Object.Monitor lock and unlock functions to be nothrow

- change methods of all core.sync classes to nothrow
Merge pull request #1034 from todayman/sock-pr-1

Fixes & enhancements for Linux CMSG accessors
Merge pull request #1013 from MartinNowak/fix11216

fix Issue 11216 - Make synchronized statement `nothrow`
Add nothrow for thread_detachThis
Sync gc_* declrations with core.memory

The forward gc_enable, gc_disable, gc_malloc delcarations in core.thread should
be nothrow as defined in core.memory.
Merge pull request #1064 from dsp/master

Add nothrow for thread_detachThis
Merge pull request #1065 from dsp/fix-import

Sync gc_* declrations with core.memory
put a D in the C
Merge pull request #1067 from MartinNowak/typo

put a D in the C
use dlopen handle instead of link_map to identify dso

- handle is the natural identifier of a loaded DSO

- it's easier on FreeBSD to get obtain an handle from a
  DSO internal address than to get the link_map
Shared builds for FreeBSD and mv sections_linux to sections_elf_shared
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