Implement process lockfile and run user/group

- sets effective UID, typically root
- grabs write lock on server/lockfile (e.g. /var/run/zbroker.pid)
- dumps PID into lockfile
- sets group and/or user from server/group, server/user
- else sets back to real UID

Note, does not work using normal 'make' as zbroker isn't the real binary.
Here is how I build/test:

    MAIN=zbroker
    sudo rm $MAIN
    gcc -g -o $MAIN \
        $MAIN.c \
        zpipes_msg.c zpipes_client.c zpipes_server.c \
        -lczmq -lzmq -lzyre -luuid -lsodium
    test $? -ne 0 && exit

    sudo chown root $MAIN
    sudo chgrp root $MAIN
    sudo chmod +s $MAIN
    ./$MAIN

Note example of zbroker.cfg:

    server
        timeout = 10        #   Client connection timeout
        background = 0      #   Run as background process
        workdir = .         #   Working directory for daemon
        animate = 1         #   Do we animate or not?
        user = ph           #   Run as this user
        group = ph          #   Run as this group
        lockfile = /var/run/zbroker.pid

Fixes #52
Fixes #53
Removed libzpipesclient library

All objects from src directory now go into libzbroker.la

Fixes #67
Don't install test binaries into bindir
Initial draft of thin client stack

This is failing on IPC connect; however the basics are here. The
client API is identical to src/zpipes_client; however it uses the
libzmtp API and a custom message codec.
Updated for last version of libzmtp
Added libzmtp build
Problem: was not waking writer on HAVE READER

HAVE READER messages from the cluster were being ignored in
pipe_attach_remote_reader, so a waiting writer would time out.
Now the state machine gets a have_reader event so the writer
can send out its waiting data.

Not tested, since I don't have a reproducible case; however it
is fairly obvious, given the detailed logs.

Fixes #68.
Fixed use of includes
Removed failing make check step
Merge pull request #66 from hintjens/master

Implement process lockfile and run user/group