#### Is your feature request related to a problem? Please describe.
Some APIs only work if the User-Agent header is entirely omitted.  This is not currently possible in Axios in NodeJS.  #1411 opened this discussion some time back, but was closed without an actual solution other than commenting out the code which inserts the header.

#### Describe the solution you'd like
There should be a way to completely omit the U-A header if desired.  User-Agent is not a required header, and its deprecation (in favor of Client-Hints) is being actively discussed.

The simplest solution would probably to retain the current behavior if no User-Agent header is specified, but omit the header if it is explicitly provided with a falsy value (`null` and `""` both seem to clearly communicate the caller's intent not to have a value here).

#### Describe alternatives you've considered
Explicit options to disable the current behavior could work, but that seems like a less-elegant path.

#### Additional context
No.

lib/adapters/http.js
if (config.timeout) {
      
      
      
      
      
      req.setTimeout(config.timeout, function handleRequestTimeout() {
        req.abort();
        reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));
      });
    }
    if (config.cancelToken) {
      
      config.cancelToken.promise.then(function onCanceled(cancel) {
        if (req.aborted) return;
        req.abort();
        reject(cancel);
      });
    }
    
    if (utils.isStream(data)) {
      data.on('error', function handleStreamError(err) {
        reject(enhanceError(err, config, null, req));
      }).pipe(req);
    } else {
      req.end(data);
    }
  });
};