Problem: memory leak in zcert meta table

zhash_insert/update takes copy of passed value, when autofree is
set (this was changed in 8f2904 to avoid double-free errors). The
code didn't properly free the meta value after setting it.

Solution: free the value, so it's obviously symmetric in the code,
and works properly with autofree.

Comment: how did this not cause memory leaks between December and
September? I'm mystified, though not sufficiently to dig deeper.

Fixes #675.

Also, small and cosmetic code cleanups:

- space before (
- simpler error handling in a few places
Problem: zhash_autofree can be simplified

Solution: do same as in zlist, map destructor/duplicator to zstr_free and
strdup. Also, use internal properties that match zlist and zring (not
item_duplicator rather just 'duplicator').
Merge pull request #676 from hintjens/master

Fixed memory leaks and other small cleanups