Problem: method names getting ugly and long

Adding depth for key management is a great idea. However it should
not make other aspects more complex. Most people do not need special
handlers for keys, so will never use these _set_key methods. So they
should not be paying the extra cost of using _item in the other
methods. Further, this leaks into other containers that don't use
keys at all.

Solution: keep the majority case methods short and sweet, use the
longer names for the rarer cases.

Also, consistency, zhash_set_key_hasher as it is for keys.
Problem: zlist needs cleaning up

- zlist_sort left in inconsistent state
- tabs in code
- description of zlist_append and _push weren't accurate
- zlist_free_fn should be deprecated (ugly and useless)

Solution: done that.
Remove unnecessary log in zsys_set_interface().
Merge pull request #653 from hintjens/master

Cleanups
Merge pull request #654 from ahhentz/to_merge

Remove unnecessary log in zsys_set_interface().
Updated man pages
msvc build fixes. explicit casts required.
Merge pull request #656 from jossgray/msvc_build_fixes

msvc build fixes. explicit casts required.
Problem: zsocket_set_xxx dies miserably if you pass a zsock_t

Solution: catch this specific error and die less miserably.
Fixed #657 properly
Merge pull request #657 from hintjens/master

Catch common error of zsocket_set_xxx on zsock_t sockets
Removing workaround for ZMQ #1169 as the problem no longer hits
Problem: zhash public API was broken

Changing keys from 'const char *' to 'void *' broke existing applications,
and isn't necessary. The majority use case is for char keys, so the API
can show this. The marginal case is for void * keys, which zhash does
internally without modifying the API. Apps that use non-string keys will
have to cast their keys to 'const char *', which is fine (the alternative
is that all existing apps have to add a cast just to allow a few unusual
apps to not add one.)
Merge pull request #658 from hintjens/master

Removing workaround for ZMQ #1169 as the problem no longer hits
Problem: dropped & in last patch, causing segfault

Solution: run 'make check' before pushing commits :-)
Merge pull request #659 from hintjens/master

Problem: dropped & in last patch, causing segfault
zuuid: check for errors in constructor
zthread: Assert context creation
zthread: assert zstr_recv returns a string
zstr: assert message creation