* 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
!net::HttpUtil::IsValidHeaderValue(it.second)) {
        args->ThrowTypeError("Invalid header name or value");
        return nullptr;
      }
      request->headers.SetHeader(it.first, it.second);
    }
  }
  
  
  request->report_raw_headers = true;
  v8::Local<v8::Value> body;
  v8::Local<v8::Value> chunk_pipe_getter;
  if (opts.Get("body", &body)) {
    if (body->IsArrayBufferView()) {
      auto buffer_body = body.As<v8::ArrayBufferView>();
      auto backing_store = buffer_body->Buffer()->GetBackingStore();
      request->request_body = network::ResourceRequestBody::CreateFromBytes(
          static_cast<char*>(backing_store->Data()) + buffer_body->ByteOffset(),
          buffer_body->ByteLength());
    } else if (body->IsFunction()) {
      auto body_func = body.As<v8::Function>();
      mojo::PendingRemote<network::mojom::ChunkedDataPipeGetter>
          data_pipe_getter;
      chunk_pipe_getter = JSChunkedDataPipeGetter::Create(
                              args->isolate(), body_func,
                              data_pipe_getter.InitWithNewPipeAndPassReceiver())
                              .ToV8();
      request->request_body = new network::ResourceRequestBody();
      request->request_body->SetToChunkedDataPipe(std::move(data_pipe_getter));
    }