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

test/unit/adapters/http.js
}).then(function (res) {
        success = true;
      }).catch(function (err) {
        error = err;
        failure = true;
      });
      setTimeout(function () {
        assert.equal(success, false, 'request should not succeed');
        assert.equal(failure, true, 'request should fail');
        assert.equal(error.message, 'maxContentLength size of 2000 exceeded');
        done();
      }, 100);
    });
  });
  it('should support max body length', function (done) {
    var data = Array(100000).join('ж');
    server = http.createServer(function (req, res) {
      res.setHeader('Content-Type', 'text/html; charset=UTF-8');
      res.end();
    }).listen(4444, function () {
      var success = false, failure = false, error;
      axios.post('http://localhost:4444/', {
        data: data
      }, {
        maxBodyLength: 2000
      }).then(function (res) {
        success = true;
      }).catch(function (err) {
        error = err;
        failure = true;