* 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
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 {