Logback 244 and 724 - Add configuration options for SiftingAppender

This is an update to Tommy Becker's pull request: https://github.com/qos-ch/logback/pull/107

Tommy did almost all the work, I just cleaned up the formatting to match the logback standards, and rebased to HEAD.  See Tommy's pull req comments and change comments for details.

The only thing I'm not completely happy about it is that the timeout is configuration is in milliseconds, and that's not obvious.  Perhaps we could enhance it to parse "10m", "30s" and "400ms", and give an error if no units are given.