Correct bug with really fast polling servers and slow workers.

When the server was under really high load from clients, and the worker
had a slow heartbeat rate, it was possible to create false positive worker
expiring, which would cause jobs to fail.

Change-Id: I09c969b3a8833d85202b8c606aa6281deee3518d
Merge pull request #65 from robertmaynard/incorrect_heartbeat_tracking

Correct bug with really fast polling servers and slow workers.
First pass at making Response look like Message

Change-Id: Ib9bf3001e25182e4e6ecdd81aaa4894e7dfd0953
all of zmqHelpers method now support non blocking send / recv

Change-Id: Id47a51e554ea3fd5f19db0925202bc03e6ebbd05
Message now properly supports non blocking send.

Change-Id: I28018f3f9577a1aab2614bec43bd9d3f02cb0739
Redesigned Response to handle non blocking send.

Change-Id: I9778890d328d7a72bd66ccb109db79d17c0b893d
Clarify what an invalid remus::proto::Response is.

Change-Id: Id26e54f9f3a014ee29d76d452cca5c5c2f265430
Allow Responses to be copied, since the destination isn't hard-coded

Change-Id: Ibfc311e203b6983b37da3db26fd27b137cc226e1
Response once again handles empty client addresses which means any client.

when a client address is empty it means send it to any client.

Change-Id: I44a52e2581724d5c54e604c3a9b860cfb007f617
Update remus worker with the new remus::proto::Response class.

Change-Id: I10d33b036d206825bdb3df085c4742b869852abb
Get worker tests to worker with new Message and Response classes.

Change-Id: I664af3743c1fc22a2c885eeaeaacb903d958b789
Update the server to use the new remus::proto::Response class.

Change-Id: Iaaf52cea06d1e17698d3c49e6143ff430dc7b9ba
Cleanup Message so it doesn't have debug messages.

Change-Id: I139e375d4e27b688af05d6f0f4b776d1c49c0930