#### Summary

Axios appears to treat headers names that correspond to lowercase HTTP methods incorrectly.

If the header name matches the current HTTP method, the header name is transformed to `0`:

```js
axios.post('http://localhost:8888/', null, {headers: {'post': 'test'}});
```

```
POST / HTTP/1.1
0: test
Accept: application/json, text/plain, */*
Get: test
User-Agent: axios/0.17.1
Host: localhost:8888
Connection: close
Content-Length: 0
```

If the header name matches a different HTTP method, it is removed:

```js
axios.post('http://localhost:8888/', null, {headers: {'get': 'test'}});
```

```
POST / HTTP/1.1
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
User-Agent: axios/0.17.1
Host: localhost:8888
Connection: close
Content-Length: 0
```

This only seems to happen when the header name is lowercase-a header named `Get` is handled correctly:

```
axios.post('http://localhost:8888/', null, {headers: {'Get': 'test'}});
```

```
POST / HTTP/1.1
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
Get: test
User-Agent: axios/0.17.1
Host: localhost:8888
Connection: close
Content-Length: 0
```

I didn't see anything in the docs about special meaning for these header names when passed directly. `axios.defaults.headers` has keys that correspond to HTTP methods, but it doesn't seem to make sense to interpret the headers set directly in the same way.

#### Context

- axios version: 0.17.1
- Environment: node v8.9.1

test/specs/headers.spec.js
}
  }
}
describe('headers', function () {
  beforeEach(function () {
    jasmine.Ajax.install();
  });
  afterEach(function () {
    jasmine.Ajax.uninstall();
  });
  it('should default common headers', function (done) {
    var headers = axios.defaults.headers.common;
    axios('/foo');
    getAjaxRequest().then(function (request) {
      for (var key in headers) {
        if (headers.hasOwnProperty(key)) {
          expect(request.requestHeaders[key]).toEqual(headers[key]);
        }
      }
      done();
    });
  });
  it('should add extra headers for post', function (done) {
    var headers = axios.defaults.headers.common;
    axios.post('/foo', 'fizz=buzz');
    getAjaxRequest().then(function (request) {
      for (var key in headers) {
        if (headers.hasOwnProperty(key)) {
          expect(request.requestHeaders[key]).toEqual(headers[key]);
        }