Improved abstraction for ConfigurationDocumentation so it be later exposed via a REST endpoint

1. Extract configuration documentation formatting from ConfigurationDocumentation
2. Add binding for ConfigurationDocumentation so it can be injected into a
custom formatter
3. Abstract ConfigurationMapping so it can later be customized
4. Don't clear configuration documentation after it's flushed to the log so it can accessed at runtime