Fix redirects when passing url.parse(x) as URL to convenience method

This fixes #1054.  This is a strange interaction between the following:

- Convenience method like `request.get()` called
- The result of `url.parse(x)` passed as the `uri` option
- The request results in a cross-protocol redirect.
You could have also have said
```
  if (typeof uri === 'string') params.extend({uri: uri})
  if (typeof options === 'object') {
    params.extend(options)
  } else {
    params.extend(uri)
  }
```
or
```
  if (typeof uri === 'string') params.extend({uri: uri})
  if (typeof options === 'object') params.extend(options)
  if (typeof uri === 'object' && typeof options !== 'object')
    params.extend(uri)
```