* Electron version: 1.6.1
* Operating system: All

### Expected behavior

It should be possible, when using net.request, to set redirection options. The `ClientRequest` constructor options should contain a "redirect" attribute, with possible values "follow", "error" or "manual" (like window.fetch), and defaulting to "follow".

Also, when a redirection did happen, it should be possible to know it did, and at least get the URL to which we were redirect (for example as an attribute of IncomingMessage).

### Actual behavior

It is not possible to stop redirections from happening, or even to know that it happened and get the new URL.

### How to reproduce

Use net.request on any URL that does a redirect.

atom/browser/net/atom_url_request.cc
net::AuthChallengeInfo* auth_info) {
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
  content::BrowserThread::PostTask(
      content::BrowserThread::UI, FROM_HERE,
      base::Bind(&AtomURLRequest::InformDelegateAuthenticationRequired, this,
                 scoped_refptr<net::AuthChallengeInfo>(auth_info)));
}
void AtomURLRequest::OnResponseStarted(net::URLRequest* request) {
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
  if (!request_) {
    return;
  }
  DCHECK_EQ(request, request_.get());
  scoped_refptr<net::HttpResponseHeaders> response_headers =
      request->response_headers();
  const auto& status = request_->status();
  if (status.is_success()) {
    
    content::BrowserThread::PostTask(
        content::BrowserThread::UI, FROM_HERE,
        base::Bind(&AtomURLRequest::InformDelegateResponseStarted, this,
                   response_headers));
    ReadResponse();
  } else if (status.status() == net::URLRequestStatus::Status::FAILED) {
    
    DoCancelWithError(net::ErrorToString(status.ToNetError()), true);
  }
  
}
void AtomURLRequest::ReadResponse() {