fix res_mkquery and res_send prototypes in resolv.h

historically these functions appeared in BSD 4.3 without prototypes,
then in the bind project prototypes were added to resolv.h, but those
were incompatible with the definitions of the implementation.
the bind resolv.h became the defacto api most systems use now, but the
old internal definitions found their way into the linux manuals and thus
into musl.
fix SHUT_WR typo in sys/socket.h and duplicate definitions of SHUT_*
move struct ucred under _GNU_SOURCE in sys/socket.h for clean posix namespace