CXX-265 Configure logging through startup options

A few comments/questions:

-For cleanup of appenders, there's a clearAppenders() function, and this will actually delete the appenders.  Though it seems clear that when you attach the appender you hand ownership of it over to the log domain, users using these options won't see that call, and I wonder if they'd be surprised by this behavior.  Also, since we're not using the appender handles at all, or allowing the user to use them, I wasn't sure how important it was to call clearAppenders() at all.

-Where should configureLoggingOptions() live?  Options.cpp seems like an ok option, but I think there's probably a better fit.  If I add a cleanup function that should probably live in the same place.

-Should there be a way to configure, through options, specific minimum logged severity levels for different logging domains?  If you were doing it manually, you'd be able to set it by component.
Capturing with auto_ptr here is problematic. If you look at your example, you have a stack allocated CountAppender. You then store a pointer to that stack allocated CountAppender into the vector in the options. Then, here you take ownership of that CountAppender with an auto_ptr. At some point, this (or another that has taken subsequent ownership) auto_ptr will be destroyed, and it will call operator delete on the pointer. But what it currently holds is a  pointer to stack memory, which we def. don't want to call 'delete' on. Can you try running your new logging test under address sanitizer or memcheck? Unless I've misread things pretty badly I'd expect to see it complain.

I think the is something tricky here about the ownership that we should talk through. I'd not focused on the auto_ptr'y aspect of the log subsystem (or I had, and made myself forget).