* 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
public:
  explicit UploadOwnedIOBufferElementReader(
      scoped_refptr<const net::IOBufferWithSize> buffer)
      : net::UploadBytesElementReader(buffer->data(), buffer->size()),
        buffer_(buffer) {}
  ~UploadOwnedIOBufferElementReader() override {}
  static UploadOwnedIOBufferElementReader* CreateWithBuffer(
      scoped_refptr<const net::IOBufferWithSize> buffer) {
    return new UploadOwnedIOBufferElementReader(std::move(buffer));
  }
 private:
  scoped_refptr<const net::IOBuffer> buffer_;
  DISALLOW_COPY_AND_ASSIGN(UploadOwnedIOBufferElementReader);
};
}  
AtomURLRequest::AtomURLRequest(api::URLRequest* delegate)
    : delegate_(delegate),
      is_chunked_upload_(false),
      response_read_buffer_(new net::IOBuffer(kBufferSize)) {}
AtomURLRequest::~AtomURLRequest() {