Add log to client base.

oops, forgot it.
Create random client ID each connection.

Using repeated connections causes problems for reconnecting, but
using auto-generated ZMQ IDs doesn't allow you to read them.
Catch exceptions around work and return failure.