* 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.h
void DoSetAuth(const base::string16& username,
                 const base::string16& password) const;
  void DoCancelAuth() const;
  void DoCancelWithError(const std::string& error, bool isRequestError);
  void DoSetLoadFlags(int flags) const;
  void ReadResponse();
  bool CopyAndPostBuffer(int bytes_read);
  void InformDelegateAuthenticationRequired(
      scoped_refptr<net::AuthChallengeInfo> auth_info) const;
  void InformDelegateResponseStarted(
      scoped_refptr<net::HttpResponseHeaders>) const;
  void InformDelegateResponseData(
      scoped_refptr<net::IOBufferWithSize> data) const;
  void InformDelegateResponseCompleted() const;
  void InformDelegateErrorOccured(const std::string& error,
                                  bool isRequestError) const;
  api::URLRequest* delegate_;
  std::unique_ptr<net::URLRequest> request_;
  scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
  bool is_chunked_upload_;
  std::unique_ptr<net::ChunkedUploadDataStream> chunked_stream_;
  std::unique_ptr<net::ChunkedUploadDataStream::Writer> chunked_stream_writer_;
  std::vector<std::unique_ptr<net::UploadElementReader>>
      upload_element_readers_;
  scoped_refptr<net::IOBuffer> response_read_buffer_;
  DISALLOW_COPY_AND_ASSIGN(AtomURLRequest);
};
}  
#endif