First implementation of logging framework.
Documentation.
Virtual classes need virtual destructors.
Since the components of a log message can never be blank if it is valid, if it is blank then the log message was moved.
Some logger tests.
Implement the rest of the tests to bring code coverage to 100%.
Provide overloads of LogMessage::operator<< for values and pickled values.
Do not push a log message to the sink if the log is not active.
Fix lints.
Merge pull request #194 from lowjoel/logging

Implement logging framework.