Core work

@ericdill You will like `verbosedict`.
This is raising an exception, it is the job of the calling code to capture and log that exception if it wants.  See line 4 is this table: https://docs.python.org/2/howto/logging.html#when-to-use-logging