'Merges the config object with another config object
This will merge in all non-default values from the provided config
and return a new config object
:type other_config: botocore.config.Config
:param other config: Another config object to merge with. The values
in the provided config object will take precedence in the merging
:returns: A config object built from the merged values of both
config objects.'

def merge(self, other_config):

    config_options = copy.copy(self._user_provided_options)
    config_options.update(other_config._user_provided_options)
    return Config(**config_options)
