<!-- Click "Preview" for a more readable version -->


#### Summary

set baseURL in interceptors is not working.

```
const service = axios.create({
  baseURL: 'http://localhost/'
});

service.interceptors.request.use(config => {

  config.baseURL = 'dd'
  console.log(config.url) // output :  http://localhost/././../

  return config;
}, error => {
  // Do something with request error
  console.error(error); // for debug
  Promise.reject(error);
})
```

#### Context

- axios version: *e.g.: v0.16.2*
- Environment: *e.g.: node vv8.0.0, chrome  59.0.3071.86, macOS 10.12*

lib/core/dispatchRequest.js
if (config.cancelToken) {
    config.cancelToken.throwIfRequested();
  }
}
/**
 * Dispatch a request to the server using the configured adapter.
 *
 * @param {object} config The config that is to be used for the request
 * @returns {Promise} The Promise to be fulfilled
 */
module.exports = function dispatchRequest(config) {
  throwIfCancellationRequested(config);
  
  config.headers = config.headers || {};
  
  config.data = transformData(
    config.data,
    config.headers,
    config.transformRequest
  );
  
  config.headers = utils.merge(
    config.headers.common || {},
    config.headers[config.method] || {},
    config.headers || {}
  );
  utils.forEach(
    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],