Hi,

I'm using axios v0.17.0 with HEAD method like this:

`axios.head('http://example.com'); `

(let's suppose http://example.com is set to redirect 301 to http://www.example.com)

For some reason Request method will change on the first redirect to GET instead of keeping HEAD all the way down. This will read in logs like this:

```
example.com:80 10.0.0.1 - - "HEAD / HTTP/1.1" 301 237 "-" "axios/0.17.0"
example.com:80 10.0.0.1 - - "GET / HTTP/1.1" 200 246 "-" "axios/0.17.0"
```

instead of this:

```
example.com:80 10.0.0.1 - - "HEAD / HTTP/1.1" 301 237 "-" "axios/0.17.0"
example.com:80 10.0.0.1 - - "HEAD / HTTP/1.1" 200 246 "-" "axios/0.17.0"
```

When I do the test in Firefox it keeps original request method (HEAD) all the way down.

Any idea why is this?

Thanks,
Milos

test/unit/adapters/http.js
server = http.createServer(function (req, res) {
      res.setHeader('Content-Type', 'application/json;charset=utf-8');
      res.end(JSON.stringify(data));
    }).listen(4444, function () {
      axios.get('http://localhost:4444/').then(function (res) {
        assert.deepEqual(res.data, data);
        done();
      });
    });
  });
  it('should redirect', function (done) {
    var str = 'test response';
    server = http.createServer(function (req, res) {
      var parsed = url.parse(req.url);
      if (parsed.pathname === '/one') {
        res.setHeader('Location', '/two');
        res.statusCode = 302;
        res.end();
      } else {
        res.end(str);
      }
    }).listen(4444, function () {
      axios.get('http://localhost:4444/one').then(function (res) {
        assert.equal(res.data, str);
        assert.equal(res.request.path, '/two');
        done();
      });
    });
  });
  it('should not redirect', function (done) {