Log connection after connection is made.
Reset heartbeat timer after job, avoid chatter to server.

Sometimes jobs take longer than a heartbeat interval, this means a
worker sends a heartbeat directly after completing a job, which is
not necessary because the worker just communicated with the server.
This reduces network chatter and log output on the server.
Fix idle() calling.

The idle function was never being called because the timer was being
reset every network packet that was sent or received, not just every
job received.

The idle function will be called ONCE per 3 heartbeat intervals
without a job request.  This includes the time between startup and
before receiving any jobs at all.