Register a new namespace with the Configuration object.

        Args:
            name (str): The name of the section/namespace.
            namespace (namespace.Namespace): The Namespace object to store.

        Raises:
            TypeError: If the namespace is not a Namespace object.
            ValueError: If the namespace is already registered.

def register(self, name, namespace):
        """Register a new namespace with the Configuration object.

        Args:
            name (str): The name of the section/namespace.
            namespace (namespace.Namespace): The Namespace object to store.

        Raises:
            TypeError: If the namespace is not a Namespace object.
            ValueError: If the namespace is already registered.
        """
        if name in self._NAMESPACES:

            raise ValueError("Namespace {0} already exists.".format(name))

        if not isinstance(namespace, ns.Namespace):

            raise TypeError("Namespaces must be of type Namespace.")

        self._NAMESPACES[name] = namespace