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
Merge pull request #1034 from todayman/sock-pr-1

Fixes & enhancements for Linux CMSG accessors