**Is your feature request related to a problem? Please describe.**
It's frustrating there's no option to turn off decompress. There are situations where you want to do this. Ex: having a service that collects data, but doesn't analyze it. which then passes to another service immediately/eventually.

While data is waiting or in traffic to next stop, it should stay compressed. The difference in byte size is huge (for me, 60MB vs 1-2MB). 

**Describe the solution you'd like**
Add an option to the request to not automatically decompress for me. I'm a big boy, I can handle it myself later.

**Describe alternatives you've considered**
There are none except user another lib or write own http req (which is ridiculous just to turn off a auto feature).


I can submit a PR if no one else wants to do it (it's not hard to add). But let me know how you'd like the option to be passed in? An extra options key? `axios({ url: ..., method: ..., decompress: false })` , or adding option to an existing option?


index.d.ts
export interface AxiosTransformer {
  (data: any, headers?: any): any;
}
export interface AxiosAdapter {
  (config: AxiosRequestConfig): AxiosPromise<any>;
}
export interface AxiosBasicCredentials {
  username: string;
  password: string;
}
export interface AxiosProxyConfig {
  host: string;
  port: number;
  auth?: {
    username: string;
    password:string;
  };
  protocol?: string;
}
export type Method =
  | 'get' | 'GET'
  | 'delete' | 'DELETE'
  | 'head' | 'HEAD'
  | 'options' | 'OPTIONS'
  | 'post' | 'POST'
  | 'put' | 'PUT'
  | 'patch' | 'PATCH'
  | 'link' | 'LINK'
  | 'unlink' | 'UNLINK'
export type ResponseType =
  | 'arraybuffer'
  | 'blob'
  | 'document'
  | 'json'
  | 'text'
  | 'stream'
export interface AxiosRequestConfig {
  url?: string;
  method?: Method;
  baseURL?: string;
  transformRequest?: AxiosTransformer | AxiosTransformer[];
  transformResponse?: AxiosTransformer | AxiosTransformer[];
  headers?: any;
  params?: any;
  paramsSerializer?: (params: any) => string;
  data?: any;
  timeout?: number;
  timeoutErrorMessage?: string;
  withCredentials?: boolean;
  adapter?: AxiosAdapter;
  auth?: AxiosBasicCredentials;
  responseType?: ResponseType;
  xsrfCookieName?: string;
  xsrfHeaderName?: string;
  onUploadProgress?: (progressEvent: any) => void;
  onDownloadProgress?: (progressEvent: any) => void;
  maxContentLength?: number;
  maxBodyLength?: number;
  validateStatus?: (status: number) => boolean;
  maxRedirects?: number;
  socketPath?: string | null;
  httpAgent?: any;
  httpsAgent?: any;
  proxy?: AxiosProxyConfig | false;
  cancelToken?: CancelToken;
}
export interface AxiosResponse<T = any>  {
  data: T;
  status: number;
  statusText: string;
  headers: any;
  config: AxiosRequestConfig;
  request?: any;
}
export interface AxiosError<T = any> extends Error {
  config: AxiosRequestConfig;
  code?: string;
  request?: any;
  response?: AxiosResponse<T>;
  isAxiosError: boolean;
  toJSON: () => object;
}
export interface AxiosPromise<T =