Add random port binding, and overriding range specification via extensions to endpoint syntax.

Added ! in addition to * for port numbers, and [<min>-<max>] notation to allow users to override the c000-ffff range currently set for ephemeral port
assignments. The ! instead of * means to randomly pick a port in the specified or default range.

The reason for this? I feel that, someday, maybe, someone will come up with a really wicked 0-day exploit against zeromq sockets. Because of the C000 thru
FFFF defaults, the obvious place to scan for zeromq ports is in the range of 49152 and up for maybe 50 or so ports. Using ! to select random ports will reduce
the success of such restricted searches. (And using psad wouldn't hurt, either). Just something to make life a little harder for the average hacker.
move a line back to the right spot; make sure all sockets get destroyed

I moved the call to zsocket_test up ahead of the gossip call, because
I was using an old version of libzmq; I upgraded and am moving it back,
gossip's test runs OK now.

I was getting a couple of leaked socket message from the test. These
are corrected now.
Deprecated zlist_head/tail as useless

I've not seen any code using these, so am deprecating them. If you
feel strongly about this, feel free to revert this commit.
Allow PING in all external states
Merge pull request #616 from hintjens/master

Deprecated zlist_head/tail as useless
add zlist_curr to fetch the current item.
Add pack and unpack support to zchunk.
Merge pull request #617 from mosconi/master

add zlist_curr to fetch the current item.
Get the zsocket test calls back in the right places!
Add random port binding, and overriding range specification via extensions to endpoint syntax.

Added ! in addition to * for port numbers, and [<min>-<max>] notation to allow users to override the c000-ffff range currently set for ephemeral port
assignments. The ! instead of * means to randomly pick a port in the specified or default range.

The reason for this? I feel that, someday, maybe, someone will come up with a really wicked 0-day exploit against zeromq sockets. Because of the C000 thru
FFFF defaults, the obvious place to scan for zeromq ports is in the range of 49152 and up for maybe 50 or so ports. Using ! to select random ports will reduce
the success of such restricted searches. (And using psad wouldn't hurt, either). Just something to make life a little harder for the average hacker.
move a line back to the right spot; make sure all sockets get destroyed

I moved the call to zsocket_test up ahead of the gossip call, because
I was using an old version of libzmq; I upgraded and am moving it back,
gossip's test runs OK now.

I was getting a couple of leaked socket message from the test. These
are corrected now.
Get the zsocket test calls back in the right places!
Merge branch 'master' of https://github.com/WyoMurf/czmq

Conflicts:
	doc/zauth.txt
	doc/zhash.txt
Got rid of either typos or whatever, that I must have inadvertently
added. Now same as master. Should get rid of the file in the pull request.
Merge pull request #618 from WyoMurf/master

Extend TCP URL bind syntax to allow control of ephemeral port selection algorithm and range.
as discussed, reverted the adition of zlist_curr
Problem: new code is duplicated in zsocket and zsock

zsocket is deprecated and there's no reason to add new code to it.
That just creates extra work and maintenance. Those who need this new
functionality can use zsock and the CZMQ v3 API.

Solution: reverted zsocket changes.
Merge pull request #621 from hintjens/master

Problem: new code is duplicated in zsocket and zsock
Problem: zsock defines its own random number helper

zsys already initializes the seed, and czmq_prelude.h provides
randof (n).

Solution: use CZMQ facilities and remove superfluous random number
helper.
Minor clarification in comment