Problem: string buffers aren't NULL checked

Have found some places where memory is allocated and not NULL checked.
I have not touched the auto generated engine for zgossip which is also not checking for NULL pointers from strdup.

Tests pass locally.
zmalloc has nullification costs, so not to be used for blocks that may be large, or very often used (like frames), and which are going to be initialized or length-managed.