#### 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
axios.patch('/user', { foo: 'bar' })
  .then(handleResponse)
  .catch(handleError);
interface UserCreationDef {
    name: string;
}
interface User {
  id: number;
  name: string;
}
const handleUserResponse = (response: AxiosResponse<User>) => {
	console.log(response.data.id);
	console.log(response.data.name);
	console.log(response.status);
	console.log(response.statusText);
	console.log(response.headers);
	console.log(response.config);
};
axios.get<User>('/user?id=12345')
	.then(handleUserResponse)
	.catch(handleError);
axios.get<User>('/user', { params: { id: 12345 } })
	.then(handleUserResponse)
	.catch(handleError);
axios.head<User>('/user')
	.then(handleUserResponse)
    .catch(handleError);
axios.options<User>('/user')
	.then(handleUserResponse)
	.catch(handleError);