**Describe the bug**
According to [RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format](https://tools.ietf.org/html/rfc7159) content-type `application/json` does not have any charset defined, as it must be utf-8 encoded. Older specifications allowed other unicode encodings, and parsers were detecting exact encoding used by first four bytes, still not by charset param.

Axios defaults to header `Content-Type: application/json;charset=utf-8` for some types of sent data.

This breaks some HTTP servers and applications, who are not recognizing the content-type.

**To Reproduce**
```js
axios.post("http://example.com", {an: "object"});
// Content-Type: application/json;charset=utf-8 header will be set
```

**Expected behavior**
`Content-Type: application/json` header should be set as default for object data, without charset parameter.

**Environment:**
 - Axios Version - 0.18.0, I've also checked master branch source - it is still there.
https://github.com/axios/axios/blob/b4c5d35d2875191dfa8c3919d4227dce8e2ad23f/lib/defaults.js#L52

**Additional context/Screenshots**
This breaks some parts of the rabbitmq-management API.

Related issues:
https://github.com/axios/axios/issues/859
lib/defaults.js
var adapter;
  if (typeof XMLHttpRequest !== 'undefined') {
    
    adapter = require('./adapters/xhr');
  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
    
    adapter = require('./adapters/http');
  }
  return adapter;
}
var defaults = {
  transitional: {
    silentJSONParsing: true,
    forcedJSONParsing: true,
    clarifyTimeoutError: false
  },
  adapter: getDefaultAdapter(),
  transformRequest: [function transformRequest(data, headers) {
    normalizeHeaderName(headers, 'Accept');
    normalizeHeaderName(headers, 'Content-Type');
    if (utils.isFormData(data) ||
      utils.isArrayBuffer(data) ||
      utils.isBuffer(data) ||
      utils.isStream(data) ||
      utils.isFile(data) ||
      utils.isBlob(data)
    ) {