* Electron version: 1.4.5
* Operating system: Win 10 x64

### Expected behavior

`net.request` sends cookie as what I set

### Actual behavior

`net.request` sends cookie as default session's cookie

### How to reproduce

```
const {net} = require('electron');
const request = net.request({
	method: 'GET',
	url: 'https://mydomain.com/foo',
	session: null
});
request.removeHeader('Cookie');
// If current default session has a cookie `foo=11111`, 
// `request.setHeader` here has no effect. the request always send `foo=11111` 
// but expected is `foo=22222`
request.setHeader('Cookie', 'foo=22222');
request.end();
```

atom/browser/net/atom_url_request.cc
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() {
  DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
  int bytes_read = -1;
  if (request_->Read(response_read_buffer_.get(), kBufferSize, &bytes_read)) {
    OnReadCompleted(request_.get(), bytes_read);
  }
}
void AtomURLRequest::OnReadCompleted(net::URLRequest* request, int bytes_read) {