Summary
----
According to the [spec](https://tools.ietf.org/html/rfc3986#section-2.2), `@` is a reserved character and thus should be encoded. But axios un-encodes this: https://github.com/axios/axios/blob/master/lib/helpers/buildURL.js#L7

```js
function encode(val) {
  return encodeURIComponent(val).
    replace(/%40/gi, '@').
    replace(/%3A/gi, ':').
    replace(/%24/g, '$').
    replace(/%2C/gi, ',').
    replace(/%20/g, '+').
    replace(/%5B/gi, '[').
    replace(/%5D/gi, ']');
}
```
This seems like a bug. What's the reason?

Context
----
- axios version: *e.g.: v0.17.0*
- Environment: *e.g.: node v8.4.0, windows 7 x64

lib/helpers/buildURL.js
'use strict';
var utils = require('./../utils');
function encode(val) {