testlib: Extend existing hc opts in extra_hc_opts
Previously we'd override the existing hc opts in extra_hc_opts, which caused issues like #17712 (closed).
This has the potential to break a lot of tests. I think some of those tests break because they were previously buggy, but it's possible that we really needed the old (overriding) behavior of extra_run_opts in others. So we may need two different functions: set_hc_opts (overrides existing opts) and extra_hc_opts (extends existing opts).
We probably need a similar treatment for extra_run_opts as well.
Fixes #17712 (closed)