Problem: zmq_connect() does not validate TCP addresses

Since https://github.com/zeromq/libzmq/commit/350a1a, TCP addresses
get resolved asynchronously, so zmq_connect no longer returned an
error on incorrect addresses.

This is troublesome since we rely on some error checking to catch
blatant errors.

Solution add some upfront syntax checking that catches at least the
obvious kinds of errors (invalid characters, wrong or missing port
number).
Problem: tcp_address.cpp allowed [ and ] around address

This syntax is undocumented and has no known meaning. It was in libzmq
since 3.x.

Solution: remove this code.
Merge pull request #1106 from hintjens/master

Problem: zmq_connect() does not validate TCP addresses