avoid error from extra layer of indirection with strncpy

Without this changeset, gcc complains during any compilation that
pulls in socket_address.c, for example:

gcc -DHAVE_CONFIG_H -I. -I..    -I../include/ -I.. -g -O2 -Wall -Wno-deprecated-declarations -MT tcpcryptd-socket_address.o -MD -MP -MF .deps/tcpcryptd-socket_address.Tpo -c -o tcpcryptd-socket_address.o `test -f '../shared/socket_address.c' || echo './'`../shared/socket_address.c
In file included from /usr/include/string.h:635:0,
                 from ../shared/socket_address.c:4:
../shared/socket_address.c: In function ‘socket_address_pretty’:
../shared/socket_address.c:42:19: warning: passing argument 2 of ‘__builtin_strncpy’ from incompatible pointer type
     strncpy(name, &sa->addr.un.sun_path, n);
                   ^
../shared/socket_address.c:42:19: note: expected ‘const char *’ but argument is of type ‘char (*)[108]’

This fix corrects the extra layer of indirection and avoids the error
message.

(weirdly, i was unable to get tcpcryptd to crash or print garbage
either with or without the patch)
Remove unnecessary library linkage

Some libraries are only needed for tcpcryptd, but not for the other
tools.  Other libraries (like librt and libz) aren't needed at all and
can be dropped entirely from the build.

This is tested on a debian amd64 Linux system (debian testing/jessie).
If it turns out that some of the libraries are actually needed on
other architectures, i'm happy to help sort out patches to link them
back in for those architectures specifically.