#### Is your feature request related to a problem? Please describe.
No.

#### Describe the solution you'd like
#4734 Changed the entire behavior of the params serializer, breaking using any custom functionality on the consumer side. Add a boolean switch to mimic pre 1.x behavior (default is false) and send the params directly to the encode function

#### Describe alternatives you've considered
Tried working with new solution; it did not pan out well and led to more bugs with our requests

lib/helpers/toFormData.js
let arr = value;
    if (value && !path && typeof value === 'object') {
      if (utils.endsWith(key, '{}')) {
        
        key = metaTokens ? key : key.slice(0, -2);
        
        value = JSON.stringify(value);
      } else if (
        (utils.isArray(value) && isFlatArray(value)) ||
        (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))
        )) {
        
        key = removeBrackets(key);
        arr.forEach(function each(el, index) {
          !utils.isUndefined(el) && formData.append(
            
            indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),
            convertValue(el)
          );
        });
        return false;
      }
    }
    if (isVisitable(value)) {
      return true;
    }
    formData.append(renderKey(path, key, dots), convertValue(value));
    return false;
  }