* 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
const std::string& value) const {
  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
  content::BrowserThread::PostTask(
      content::BrowserThread::IO, FROM_HERE,
      base::Bind(&AtomURLRequest::DoSetExtraHeader, this, name, value));
}
void AtomURLRequest::RemoveExtraHeader(const std::string& name) const {
  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
  content::BrowserThread::PostTask(
      content::BrowserThread::IO, FROM_HERE,
      base::Bind(&AtomURLRequest::DoRemoveExtraHeader, this, name));
}
void AtomURLRequest::PassLoginInformation(
    const base::string16& username,
    const base::string16& password) const {
  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
  if (username.empty() || password.empty()) {
    content::BrowserThread::PostTask(
        content::BrowserThread::IO, FROM_HERE,
        base::Bind(&AtomURLRequest::DoCancelAuth, this));
  } else {
    content::BrowserThread::PostTask(
        content::BrowserThread::IO, FROM_HERE,
        base::Bind(&AtomURLRequest::DoSetAuth, this, username, password));
  }
}
void AtomURLRequest::SetLoadFlags(int flags) const {