Add singleton logger

This pull request replaces #31, and will address #7.

This PR adds the singleton logger and a debug flag option. The old logging (puts) are now using the logger.

@mattdbridges came up with a brilliant idea for the logger (https://gist.github.com/mattdbridges/5217148).