Resets a single option to the default values.

        :param str key: First identifier of the option.
        :param str subkey: Second identifier of the option.

        :raise:
            :NotRegisteredError: If ``key`` or ``subkey`` do not define any
                option.
            :ValueError: If the targeted obtion is locked.

def reset_option(self, key, subkey):
        """Resets a single option to the default values.

        :param str key: First identifier of the option.
        :param str subkey: Second identifier of the option.

        :raise:
            :NotRegisteredError: If ``key`` or ``subkey`` do not define any
                option.
            :ValueError: If the targeted obtion is locked.
        """
        if not self.open:
            return

        key, subkey = _lower_keys(key, subkey)
        _entry_must_exist(self.gc, key, subkey)

        df = self.gc[(self.gc["k1"] == key) & (self.gc["k2"] == subkey)]
        if df["locked"].values[0]:
            raise ValueError("{0}.{1} option is locked".format(key, subkey))
        val = df["default"].values[0]
        self.gc.loc[
            (self.gc["k1"] == key) &
            (self.gc["k2"] == subkey), "value"] = val