Enhancing exception handling

Previously, a sync worker receiving
a ConnectionError exception would
be effectively dead but the sync worker
would still be waiting for more results.
This patch adds a check that if
all the worker processes have failed
due to connection errors,
then the syncer should exit.

Signed-off-by: Joe Buck <jbbuck@gmail.com>