added ConfigManager::PrivateContext() and moved private members to it.

In this project, private members should be in PrivateContext, which
is defined in source file (not header file) to
- strongly hide details of the class.
- suppress the unnecessary rebuild due to the change of private members.
- suppress the unnecessary changed of ABI.