#### Summary
Trying to use Axios on Node with your own http(s)Agent set via the global default triggers the error: `TypeError: self.agent.addRequest is not a function`

For minimal example see: https://runkit.com/rupesh/59b1bcc1efc2f800128b7d54

It seems to be related to utils.merge not considering/handling the prototype chain:
<img width="814" alt="developer_tools_-_node_js" src="https://user-images.githubusercontent.com/3313870/30188235-58af3bd8-9425-11e7-9f99-4bc01ff4bf96.png">

Stack trace:
```
TypeError: self.agent.addRequest is not a function
at new ClientRequest in core _http_client.js — line 160
at http.Agent in core http.js — line 31
at RedirectableRequest._performRequest in follow-redirects/index.js — line 73
at Writable.RedirectableRequest in follow-redirects/index.js — line 57
at wrappedProtocol.request in follow-redirects/index.js — line 229
at dispatchHttpRequest in axios/lib/adapters/http.js — line 131
at httpAdapter in axios/lib/adapters/http.js — line 18
```

#### Context

- axios version: 0.16.2
- Environment: node v4, 6, 7 and 8

lib/utils.js
if (typeof result[key] === 'object' && typeof val === 'object') {
      result[key] = deepMerge(result[key], val);
    } else if (typeof val === 'object') {
      result[key] = deepMerge({}, val);
    } else {
      result[key] = val;
    }
  }
  var lastArgument = arguments[arguments.length - 1];
  if (lastArgument === null || typeof lastArgument === 'undefined') {
    return lastArgument;
  }
  for (var i = 0, l = arguments.length; i < l; i++) {
    forEach(arguments[i], assignValue);
  }
  return result;
}
/**
 * Extends object a by mutably adding to it the properties of object b.
 *
 * @param {Object} a The object to be extended
 * @param {Object} b The object to copy properties from
 * @param {Object} thisArg The object to bind function to
 * @return {Object} The resulting value of object a
 */
function extend(a, b, thisArg) {
  forEach(b, function assignValue(val, key) {
    if (thisArg && typeof val === 'function') {
      a[key] = bind(val, thisArg);