Handle config errors a bit more gracefully

This pull request does a few things but primarily:
* Makes the daemons not traceback on missing or invalid config files
* Gets rid of a ``DeprecationWarning`` when running the tests
* Updates the code in the example client to be a bit more "pythonic"

I'd like to do some very uninteresting and boring cleanups like 2--> 4 spaces and whatnot, but wanted to get into the codebase a bit more first.