Docblocks
Refactor ObjectConfig

 - Allow to make a config object read. Add ObjectConfigInterface::setReadOnly() and isReadOnly() methods.
 - Declare ConfigObject ArrayAccess methods final to prevent them from being extended.
 - Declare magic getter and setter methods as final to prevent them from being extended.
 - Add  ObjectConfig::getInstance() to return an object instance and make object instantiation extendable. Useful for object that do not want to return and instance of self.