Minor doc & assert fixes

This minor pull request:
* Fixes some doc typos
* Adds some documentation to the message types ( *vsm*, *lmsg*) because there's few documentation about what they mean
* Flag ENOMEM-setting branches in *msg.cpp* *unlikely*
* Adds an assert to zmq_msg_init_data that checks if either the data ptr is non-NULL or the size == 0, because if none of this conditions meet, a deferred segfault would occur once the data ptr is accessed. It is not accessed in the constructor, so the error would probably occur in the IO thread and would be hard to track down.