Updates logging code to allow logging of all requests (debug mode) and
a special exceptions mode for only logging to a provided logger calls
that generate exceptions.

This puts a requirement on the logger being passed to implement debug
and/or error functions for debug and exception logging respectively.
Logging - Updates to prevent logging twice in the event an exception
is thrown when the log level is at debug.
Logging - Test update.
Merge pull request #42 from ehelms/logging-update

Updates logging code to allow logging of all requests (debug mode) and