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.
Actually, I think you are right that it won't work, and I am wrong Normally,

```
A foo() {
   return B();
}
```

Will look for an A constructor taking a B object and implicitly invoke that. But, auto_ptr's constructor taking a pointer is explicit: http://en.cppreference.com/w/cpp/memory/auto_ptr/auto_ptr

However, you could still write it as:

return client::Options::LogAppenderPtr(new CountAppender(counter));

Up to you if you like that better or not. If you don't and you would prefer to keep the named variable, probably good to give it a better name than ```p``` though :)