Fix vsnprintf for zmsg.c and zstr.c

The changes to zstr.c causes a lot of code duplication because:
1) to factorize the common variadic code into s_send_string() would require C99's va_copy() which is not supported by MSVC
2) zstr_send() aliases zstr_sendf(). zstr_sendm() aliases zstr_sendfm()