Do not NULL-terminate the data we receive on the ZeroMQ socket

* We need to make sure that any data we pass from Python to C is already
  NULL-terminated
Add a NULL terminator to the data we send out to clients

* When sending data from Python to a C client via a ZeroMQ socket
  we need to make sure that the data on the client side can be
  properly understood by the client