Module Level Logging

All of the logging was using ```logging.warn()```, calling the logging library directly. This caused the logs to be logged to the root logger, thereby making it difficult to selectively filter the logs it produced.

I added ```log = logging.getLogger(__name__)``` to each logging file and changed the logging statements to ```log.{LOG LEVEL}("message")``` so they'd log to the appropriate logger.

I also cleaned up some of the logging.