Implemented a backup client function that handles downloading the logs, taking into account network failures, missing logs etc. and retrying the download in case of failure. The tests have been rewritten to use this new function. I considered handling the missing logs better (maybe try and batch them etc.) but because websocket connection is bsaed on TCP, this should be an issue (my testing also showed no problems with this).
Removed the code on native as it will be completely changed anyways in the future diffs.
Added tokio as a dependency, but we already use this exact version, and as you can see from the lock files, there is no actual change in the used dependencies (both commtest and native already depended on tokio).
Depends on D10985