def merge_uri_option(target, value, name)
      if target.key?(name)
        if REPEATABLE_OPTIONS.include?(name)
          target[name] += value
        else
          log_warn("Repeated option key: #{name}.")
        end
      else
        target.merge!(name => value)
      end
    end
def merge_uri_option(target, value, name)
      if target.key?(name)
        if REPEATABLE_OPTIONS.include?(name)
          target[name] += value
        else
          log_warn("Repeated option key: #{name}.")
        end
      else
        target.merge!(name => value)
      end
    end
Merges a new option into the target.

 If the option exists at the target destination the merge will
 be an addition.

 Specifically required to append an additional tag set
 to the array of tag sets without overwriting the original.

 @param target [Hash] The destination.
 @param value [Object] The value to be merged.
 @param name [Symbol] The name of the option.