Add generational file appender class

Support a FileAppender that rolls over logfile generations
(e.g. /path/to/xxx.log.0, /path/to/xxx.log.1) when instructed.
cmake: Use cmake's built-in TestForSSTREAM when testing for sstream.

The original test for SSTREAM actually tested for STRSTREAM.  Instead
of fixing the logic to test for SSTREAM, it seemed easier just to use
cmake's built-in macro to perform the test.
Support microsecond precision timestamps in pattern layouts
cmake: Explicitly link with pthread library on Linux