Problem: allow Zyre to work across any transport

This is the first of a series of commits to expand Zyre for (a) other transports and (b) other discovery methods.

* Added explicit bind/connect methods to API so application can build
  the cluster explicitly, using any available ZeroMQ transport.

* Application can now switch off UDP discovery by setting port to 0.

* Replaced ipaddress / port fields with endpoint so that nodes can
  now interconnect across any ZeroMQ transport.