Wait until queue is empty before completing worker

See #2.
Add task count limit to (test) worker

Add task count limit argument to (test) worker, which restricts the number of
tasks processed by a worker instance.  By default, the worker will process a
single task.  With a task count <= 0, the worker will continue until killed.

    Usage: worker_test.py [-h] [--log_level {info,debug,warning,error,critical}]
                          [-c TASK_COUNT]
                          supervisor_uri rpc_uri [worker_uuid]

    Worker demo

    positional arguments:
      supervisor_uri
      rpc_uri
      worker_uuid

    optional arguments:
      -h, --help            show this help message and exit
      --log_level {info,debug,warning,error,critical}
      -c TASK_COUNT, --task_count TASK_COUNT
                            Number of tasks to run before exiting. A value <= 0
                            results will cause the worker to continue running
                            until killed. (default=1)