(CFACT-145) Implement Facter.debugging and Facter.on_message.

Implementing Facter.debugging and Facter.on_message in the Ruby API.
This enables logged messages to be intercepted by clients like Puppet.

Adding the "none" log level that disables log output.

Adding --color and --no-color options to control cfacter's log coloring.

This commit also silences the noisy output (and often confusing) log
output during unit testing.