zmq: retrieve values of properties with mp_property_do()

Makes querying volume, position, length, etc. Just Work™, as long as the
client knows what to do with the answer.

Also first try at reporting errors to clients.
zmq: Send error when receiving unrecognised message
zmq: Send update when volume changes