<!-- Click "Preview" for a more readable version --

Please read and follow the instructions before submitting an issue:

- Read all our documentation, especially the [README](https://github.com/axios/axios/blob/master/README.md). It may contain information that helps you solve your issue.
- Ensure your issue isn't already [reported](https://github.com/axios/axios/issues?utf8=%E2%9C%93&q=is%3Aissue).
- If you aren't sure that the issue is caused by Axios or you just need help, please use [Stack Overflow](https://stackoverflow.com/questions/tagged/axios) or [our chat](https://gitter.im/mzabriskie/axios).
- If you're reporting a bug, ensure it isn't already fixed in the latest Axios version.
- Don't remove any title of the issue template, or it will be treated as invalid by the bot.

⚠️👆 Feel free to these instructions before submitting the issue 👆⚠️
-->

#### Describe the bug
In v1, accessing the 'Set-Cookie' header in a response interceptor yields the raw string value of the header.

#### To Reproduce

```js
const axios = require('axios'),
      http = require('http');

const server = http
        .createServer((req, res) => {
          res.setHeader('Set-Cookie', 'my=value');
          res.writeHead(200);
          res.write('Hi there');
          res.end();
        })
        .listen(0),
      request = axios.create();

request.interceptors.response.use((res) => {
  console.log(res.headers['set-cookie']);
});

request({ url: `http://localhost:${server.address().port}` }).then(() => server.close());
```

The produces `my=value`

#### Expected behavior
`[ 'my=value' ]`

#### Environment
 - Axios Version [e.g. 0.18.0]: 1.0.0
 - Adapter [e.g. XHR/HTTP]: http
 - Browser [e.g. Chrome, Safari]: N/A
 - Browser Version [e.g. 22]: N/A
 - Node.js Version [e.g. 13.0.1]: 16.13.0
 - OS: [e.g. iOS 12.1.0, OSX 10.13.4]: Ubuntu 20.04
 - Additional Library Versions [e.g. React 16.7, React Native 0.58.0]: N/A

#### Additional context/Screenshots

N/A
index.d.ts
NCELED";
  static readonly ECONNABORTED = "ECONNABORTED";
  static readonly ETIMEDOUT = "ETIMEDOUT";
}
export class CanceledError<T> extends AxiosError<T> {
}
export type AxiosPromise<T = any> = Promise<AxiosResponse<T>>;
export interface CancelStatic {
  new (message?: string): Cancel;
}
export interface Cancel {
  message: string | undefined;
}
export interface Canceler {
  (message?: string, config?: AxiosRequestConfig, request?: any): void;
}
export interface CancelTokenStatic {
  new (executor: (cancel: Canceler) => void): CancelToken;
  source(): CancelTokenSource;
}
export interface CancelToken {
  promise: Promise<Cancel>;
  reason?: Cancel;
  throwIfRequested(): void;
}
export interface CancelTokenSource {
  token: CancelToken;
  cancel: Canceler;
}
export interface AxiosInterceptorOptions {
  synchronous?: boolean;
  runWhen?: (config: AxiosRequestConfig) => boolean;
}
export interface AxiosInterceptorManager<V> {
  use(onFulfilled?: (value: V) => V | Promise<V>, onRejected?: (error: any) => any, options?: AxiosInterceptorOptions): number;
  eject(id: number): void;
  clear(): void;
}
export class Axios {
  constructor(config?: AxiosRequestConfig);
  defaults: AxiosDefaults;
  interceptors: {
    request: AxiosInterceptorManager<AxiosRequestConfig>;
    response: AxiosInterceptorManager<AxiosResponse>;
  };
  getUri(config?: AxiosRequestConfig): string;
  request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
  get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
  post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfi