Initial implementation of queued samples

Allows the client to maintain a short queue of samples available for
rngd to consume as needed

Allows rngd to block its greenlet while allowing the network connection
greenlet to send keepalives as needed and only request samples if the
rngd_queue is not full

Will need refinement…
Syntax error
Tighten the server+client timeouts

Now that there is a working heartbeat mechanism between the
server<->client, 5 seconds timeout on the server without hearing from
the client is excessive, even 3 seconds is extremely generous on a LAN.

On the client side, 2 seconds without receiving a response from the
server on a LAN connection definitely means the server is gone, and the
reconnection system will be triggered as usual
Merge branch 'rngd-queue'