This adds functional tests for the USDT tracepoints added in #22006 and #22902. This partially fixes #23296. The tests are probably skipped on most systems as these tests require: a Linux system with a kernel that supports BPF (and available kernel headers) that Bitcoin Core is compiled with tracepoints for USDT support (default when compiled with depends) bcc installed the tests are run with a privileged user that is able to e.g. do BPF syscalls and load BPF maps
Backport of core#24358 and core#25528 for the test fixes.
Depends on D12737.
Note that:
- We don't run it on CI (yet)
- We need to prune more blocks to trigger the expected flush event as our block files are smaller
- The 3 tests succeed on my machine, but the runner returns an error because I got compilation warnings that print to stderr