Fix for Issue #19

Added exception catches for KeyErrors and specified spots. I'm not sure
this is necesary however. Dictionaries will add keys when assiging to a
new key.
Fix Issue #20

Moved the docstrings inside the functions, added comments to functions
that were missing them.
Fix Issue #21

Added try catch block for KeyError when reading the request_data.
Function now just returns none if there is an error in the the request
data (and logs the error).
Indent error in comments

Previous commit had error in comments, fixed.
Fix Issue #22

Print statements replaced with logging.info calls.
Fix Issue #23

Changed amqp_port in error messages to what they should of been
(interval and squid port must both be ints).
Fix Issue #24

Logged and re-raised exceptions in connection attempts. The try and catch blocks are
around SSL file loading and establishing pika connection. Both will log
any exception and then re-raise it.
Fix Issue #25

Replaced for loop to generate routing key with a simpler one liner.
Fix Issue #27

Updated log file to allow for other logging levels. Valid loggging
levels are described in the configuration file. Shoal-agent will exit if
the logging level is invalid.
Fix Issue #29

Added help strings explaining client options. Also fixed problem loading
default config files (used to look in ~/.shoal/ now checks ~/shoal/).
Fix Issue #30

Put file opening in a with open as statement.
Fix Issue #31

Rmoved defaults for squid proxies and cvmfs repositories. Code now does
not default to anything.