add macro @v2only and @v3only

add macro @v2only and @v3only to enable version specific code.
 works for both inlinde and block. Thus the code is slighly cleaner and
 we donot have to use global keyword everywhere
deal specially when sending strings. zmq3 only

function zmq_send() (zeromq3 only) can be used to send Julia String
 directly, so we do not need to bother ourselfs to convert String
to ZMQMessage, and have bonus as avoiding the memcpy process.
apply macro one more step