* Electron version: 1.6.2
* Operating system: macOS 10.12

### Expected behavior

Requests sent with the net module should behave one of two ways regarding cookies.
- Either not care about cookies at all, and neither store them nor send them back automatically.
- Or, fully handle cookies, store them when getting a `set-cookie` header, and send them back when necessary, automatically (with the possibility of an option to disable this behaviour)

### Actual behavior

Requests sent with the net module store cookies in the Session used by the request when getting a `set-cookie` header, but do not send them back afterwards.

### How to reproduce

```bash
git clone https://github.com/arantes555/electron-net-cookies-testcase.git && cd electron-net-cookies-testcase
npm i
npm start
```
output: 
```
Server started
REQUEST-HEADERS { 'Accept-Encoding': 'gzip, deflate',
  'Accept-Language': 'fr',
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Electron/1.6.2 Safari/537.36' }
Response SET-COOKIE: undefined
STORED COOKIES: []
REQUEST-HEADERS { 'Accept-Encoding': 'gzip, deflate',
  'Accept-Language': 'fr',
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Electron/1.6.2 Safari/537.36' }
Response SET-COOKIE: a=1,b=1
STORED COOKIES: [{"name":"a","value":"1","domain":"localhost"},{"name":"b","value":"1","domain":"localhost"}]
REQUEST-HEADERS { 'Accept-Encoding': 'gzip, deflate',
  'Accept-Language': 'fr',
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Electron/1.6.2 Safari/537.36' }
Response SET-COOKIE: a=1,b=1
```

Btw, if I'm reporting multiple issues with the net module these days, it's because I'm working on https://github.com/arantes555/electron-fetch , if you wanna take a look :)
shell/browser/api/electron_api_url_loader.cc
buffer_.resize(buffer.size());
    memcpy(buffer_.data(), buffer.data(), buffer_.size());
  }
  ~BufferDataSource() override = default;
 private:
  
  uint64_t GetLength() const override { return buffer_.size(); }
  ReadResult Read(uint64_t offset, base::span<char> buffer) override {
    ReadResult result;
    if (offset <= buffer_.size()) {
      size_t readable_size = buffer_.size() - offset;
      size_t writable_size = buffer.size();
      size_t copyable_size = std::min(readable_size, writable_size);
      if (copyable_size > 0) {
        memcpy(buffer.data(), &buffer_[offset], copyable_size);
      }
      result.bytes_read = copyable_size;
    } else {
      NOTREACHED();
      result.result = MOJO_RESULT_OUT_OF_RANGE;
    }
    return result;
  }
  std::vector<char> buffer_;
};
class JSChunkedDataPipeGetter : public gin::Wrappable<JSChunkedDataPipeGetter>,
                                public network::mojom::ChunkedDataPipeGetter {
 public:
  static gin::Handle<JSChunkedDataPipeGetter> Create(