#### 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

test/typescript/axios.ts
.then(handleResponse)
  .catch(handleError);
instance1.options('/user')
  .then(handleResponse)
  .catch(handleError);
instance1.get('/user', { params: { id: 12345 } })
  .then(handleResponse)
  .catch(handleError);
instance1.post('/user', { foo: 'bar' })
  .then(handleResponse)
  .catch(handleError);
instance1.post('/user', { foo: 'bar' }, { headers: { 'X-FOO': 'bar' } })
  .then(handleResponse)
  .catch(handleError);
axios.defaults.headers['X-FOO'];
axios.defaults.baseURL = 'https://api.example.com/';
axios.defaults.headers.common['Authorization'] = 'token';
axios.defaults.headers.post['X-FOO'] = 'bar';
axios.defaults.timeout = 2500;
instance1.defaults.baseURL = 'https://api.example.com/';
instance1.defaults.headers.common['Authorization'] = 'token';
instance1.defaults.headers.post['X-FOO'] = 'bar';
instance1.defaults.timeout = 2500;
axios.create({ headers: { foo: 'bar' } });
axios.create({ headers: { common: { foo: 'bar' } } });
axios.create({
  headers: {
    'Content-Type': 'application/json',
  },
  formSerializer: {