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.maxRedirects) {
        options.maxRedirects = config.maxRedirects;
      }
      transport = isHttps ? httpsFollow : httpFollow;
    }
    
    var req = transport.request(options, function handleResponse(res) {
      if (aborted) return;
      
      clearTimeout(timer);
      timer = null;
      
      var stream = res;
      switch (res.headers['content-encoding']) {
      
      case 'gzip':
      case 'compress':
      case 'deflate':
        
        stream = stream.pipe(zlib.createUnzip());
        
        delete res.headers['content-encoding'];
        break;
      }
      var response = {
        status: res.statusCode,
        statusText: res.statusMessage,
        headers: res.headers,
        config: config,
        request: req