Code cleanups
Problem: zmq_connect doesn't return EINVAL on invalid endpoint

Solution: set errno to EINVAL when tcp:// endpoint is invalid (was just
leaving errno to previous value).
Revert "Problem: tcp_address.cpp allowed [ and ] around address"

This reverts commit 78a7b469a1993b681031f513d0c750c3a8454bb8.
Added clarifying comment
Problem: zmq_msg_gets did not set errno on unknown properties

Solution: set errno to EINVAL when a property does not exist.

Also fixed test_metadata.cpp to test this case.
Problem: two header files for a single library

Users who need e.g. zmq_curve_keypair() have to remember to include
zmq_utils.h, which is counter-intuitive. The whole library should be
represented by a single include file.

Solution: merge all contents of zmq_utils.h into zmq.h, and deprecate
zmq_utils.h. Existing apps can continue unchanged. New apps can ignore
zmq_utils.h completely.
Problem: missing stdlib.h include in curve_keygen.cpp

Solution: fixed this. Also minor code cleanups.
socks: fix build on FreeBSD

The fix should be sane on all UNIX-like systems, so there's
no ZMQ_HAVE_FREEBSD involved.  It's likely that other BSDs
stumble across this problem too.
Add missing socks files
Code cleanup