Add support for CURLOPT_READFUNCTION with WebSocket urls when
*not* in connect-only mode, e.g. when using curl_multi_perform.
Install the callback function and set CURLOPT_UPLOAD. Return
CURL_READFUNC_PAUSE when having nothing more to send and unpause
the transfer when more data is ready.
This will send the read bytes in a WebSocket BINARY frame.
Add support for this mode in the pytest "ws_data" client and
have all tests run in 'curl_ws_send/recv' and 'peform' mode
as well.
Add `curl_ws_start_frame()`. Document, cover in libcurl-ws.md
and explain the READFUNCTION mode for websockets.
Add example `websocket-updown` for this.
Adds the experimental feature `ssls-export` to libcurl and curl for
importing and exporting SSL sessions from/to a file.
* add functions to libcurl API
* add command line option `--ssl-sessions <filename>` to curl
* add documenation
* add support in configure
* add support in cmake
+ add pytest case
Closes#15924