rzmq::receive.socket() honors the ZMQ_DONWAIT flag

Here's the patch. Works for me on linux amd64. Please test on your box to see if I've missed anything.

I elided the #define NDEBUG at the top of interface.cpp  because the compiler was warning me that it was redundant during package installation.

Jason
In case anyone is wondering about why this doesn't test for -1: yes, it does appear that socket->recv() doesn't comply with its own documentation. When there is no message available, socket->recv() returns 0 instead of -1. This was discovered during testing.