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.
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.