Reverse data channel initialization

It would be nice if the initialization of the data channel could be
reversed, so that the SD connects to the FD. This would make the
network setup and firewalling much easier in many cases, and make
tricks like ssh tunnels no longer necessary. For Example things like
SDs being situated behind a NAT gateway would be no problem anymore.

We can also tag this as the firewall friendly solution. The default
for all clients is still active mode e.g. FD contacts SD but when
the DIR and SD are within a firewalled site and the FD is in a DMZ
or out on the Internet you can define the client as a passive client
and the DIR and SD will contact the FD so you have only socket
connections being initiated from the secure site without the need for
special resolving tricks (like a split DNS) and/or portforwarders on the
firewall that tunnel the traffic from the DMZ or Internet to your SD.

This passive mode is implemented for Backups, Restores and Verifies
of Jobs. The Director checks the version of the client to make sure
it supports the new passive protocol features.

Fixes #61: reverse data channel initialization
Update README.md