If the requested url does not have a protocol (http/https) specified, the error given is a bit cryptic. While it is a bit of an edge case, it has actually happened to me on numerous occasions.
Currently, the following is thrown:

```
error checking auth TypeError: Cannot read property 'slice' of null
    at dispatchHttpRequest (.../node_modules/axios/lib/adapters/http.js:84:37)
    at httpAdapter (.../node_modules/axios/lib/adapters/http.js:19:10)
    at dispatchRequest (.../node_modules/axios/lib/core/dispatchRequest.js:52:10)
    at process._tickCallback (internal/process/next_tick.js:103:7)
```

The reason I'm opening a issue rather than a pull request is that I see two different ways of handling it and would like @mzabriskie to chime in.
1. Check explicitly for `parsed.protocol` in the httpAdapter and throw an error if it doesn't exist.
2. Default to using `http://` and continue on as usual

Love axios, long time user, let me know what you think and I can make a PR.

lib/adapters/http.js
};
      if (config.responseType === 'stream') {
        response.data = stream;
        settle(resolve, reject, response);
      } else {
        var responseBuffer = [];
        stream.on('data', function handleStreamData(chunk) {
          responseBuffer.push(chunk);
          
          if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {
            reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded', config));
          }
        });
        stream.on('error', function handleStreamError(err) {
          if (aborted) return;
          reject(enhanceError(err, config));
        });
        stream.on('end', function handleStreamEnd() {
          var responseData = Buffer.concat(responseBuffer);
          if (config.responseType !== 'arraybuffer') {
            responseData = responseData.toString('utf8');
          }
          response.data = responseData;
          settle(resolve, reject, response);
        });
      }
    });
    
    req.on('error', function handleRequestError(err) {
      if (aborted) return;