lldpcli: replace safe use of `strcpy` by `strlcpy`

The idea is to ease automated testing by removing all use of
`strcpy`. See:
 http://marc.info/?l=openbsd-tech&m=138733933417096&w=2
priv: declare `res_init()` for builds against Android's Bionic

`res_init()` is present in the C library (as detected by configure) but
no declared in any header.
include: don't ship `linux/socket.h`

It needs to be paired with `sys/socket.h` (and we don't want to ship it
as it is bound to userland interface). On older libc, like Android's
bionic, `sys/socket.h` is almost empty and all the definitions,
including non-kernel related ones, are in `linux/socket.h`. If we ship
our version of `linux/socket.h`, we have an empty `linux/socket.h` and
an empty `sys/socket.h` and almost no definitions.

Since `linux/netlink.h` extract `__kernel_sa_family_t` from
`linux/socket.h` and we don't have it anymore, we just replace its
definition by `unsigned short`. Being a Linux kernel interface, it is
quite unlikely to change anytime soon.
README: add build instructions for Android
privsep: IO should specify the context

Currently, the context is not needed because IO is always done to the
"remote" process. If we remove privilege separation, the remote process
is ourselves and we need to know which file descriptor to use.
priv: add the ability to disable privilege separation

This is a compile time switch in ./configure. It should only be used for
debugging purposes or when memory and number of processes matter or for
running on platforms without a real `fork()` syscall. We add it to the
NEWS but we make no further mention in the documentation.
priv: add compilation without privilege separation to Travis
lldpd: use vfork+exec instead of fork+exec

This will help compatibility with systems not having a working `fork()`
implementation. For those who do, we will still use `fork()`.