Preventing deadlock (#7)
Preventing deadlock (#7)

* Changed the worker processes to detect when the queue is empty and
gracefully close the connection and exit.
* Changed use of `JoinableQueue` to use `Queue` instead. Now the main
process will sleep and regularly check all the worker processes until
it finds they are all dead. So, if they all fail for some reason the
main process will end too.
* Updated the default S3 repository location.
* Added check for scenario where zero keys were found, in which case we
exit immediately with a warning prior to accessing the database or
starting worker processes at all.

SCH-CISM/timberslide