Dynamically configure client interface port

The TCP port for the client interface is bound dynamically by default.
Additionally the client has to provide a cookie when connecting to the
server. Both information is stored in a server.info which the client
reads upon startup to find the server.

This ensures that multiple users can run their PeerDrive daemons safely
side by side on a shared server. A globally running daemon is still
supported, though.