einfo.h, rc.h.in: ensure __BEGIN_DECLS is defined

Some Standard C Libraries, like musl, don't define __BEGIN_DECLS
or __END_DECLS.  We add some ifdef magic to ensure these are
available.
einfo.h, rc.h.in: simplify __BEGIN_DECLS logic

There is no need to redefine __BEGIN_DECLS and __END_DECLS.
We simplify the logic here and avoid undefining these macros.
Fix GNU/kFreeBSD port

Check for __FreeBSD_kernel instead of __GLIBC__ in source files.

note from William Hubbs:
I was told this is a better check for GNU/kFreeBSD than checking the
C  library the source is being compiled against.
GNU/kFreeBSD than checking which library we are using.
Add missing files for GNU/kFreeBSD
Fix rc_svcdir for GNU/kFreeBSD
add missing files for GNU/Hurd
fix defines for GNU/Hurd
Fix rc_svcdir for GNU/Hurd
Fix all tests for GNU/kFreeBSD

It is necessary to check for both the kernel and c library because
__FreeBSD_kernel is also defined on native FreeBSD [1].

[1] http://sourceforge.net/p/predef/wiki/OperatingSystems/
Bundle <sys/queue.h> from NetBSD

We are bundling this to allow building on musl-based systems since musl
does not include <sys/queue.h>.
helpers.h, start-stop-daemon.c: remove uneeded macros

TAILQ_CONCAT, TAILQ_FOREACH_SAFE and LIST_FOREACH_SAFE are defined
in our bundled queue.h and are no longer required.
Fix compile errors created by bundling queue.h