Socket operation on non-socket [TransportOsError]
The following runtime error occurs ~~only when used _in the context of a nimble package context_ (with chronos as its only dependency)~~. It has been replicated on:
- macos 10.15.7 (nim v1.2.16, 1.4.6, 1.6.2)
- macos 12.1 (nim v1.2.16, 1.6.2, others not tested)
- ubuntu 20.04 (nim v1.2.16, others not tested)

```shell
/Users/emizzle/repos/emizzle/chronos_stream_error/src/chronos_stream_error.nim(7) chronos_stream_error
/Users/emizzle/.nimble/pkgs/chronos-3.0.11/chronos/asyncloop.nim(1093) waitFor
/Users/emizzle/.nimble/pkgs/chronos-3.0.11/chronos/asyncfutures2.nim(515) read
/Users/emizzle/.nimble/pkgs/chronos-3.0.11/chronos/asyncfutures2.nim(501) internalCheckComplete
Error: unhandled exception: (38) Socket operation on non-socket [TransportOsError]
```
Minimum reproducible code:
```nim
import chronos

let
  (rfd, wfd) = createAsyncPipe()
  transp = fromPipe(wfd)

discard waitFor transp.write("hi")
```
@michaelsbradleyjr and I have narrowed the issue down to sending of bytes in the socket in the `fastWrite` template introduced in https://github.com/status-im/nim-chronos/commit/c25fa1f6cdb2bd604743493e886f0bd9f99a6e2e:
https://github.com/status-im/nim-chronos/blob/17fed89c99beac5a92d3668d0d3e9b0e4ac13936/chronos/transports/stream.nim#L2058

The above snippet **failing** inside of minimal nimble package context:
```shell
git clone https://github.com/emizzle/chronos-stream-error
cd chronos-stream-error
nimble install
nim c -r "./src/chronos_stream_error.nim"
```

~~The above snippet **working** inside of a `nimbus-build-system` context:~~
```shell
git clone https://github.com/emizzle/nim-test-env
cd nim-test-env
make -j16 update && make chronos_stream_error
```
