Builds on #30440.
This adds getCoinbaseMerklePath() to the Mining interface.
Unlike the entire Mining interface so far, this is not a refactor. It adds new functionality.
The Stratum v2 NewTemplate message is a short message intended to give miners something to do as quickly as possible. It does not include the serialized block transactions. In lieu of that it contains a merkle_path field.
The reason this PR is WIP is that I haven't studied this protocol message in any detail. The implementation is copy-pasted from earlier versions of #29432 and it may be possible to reuse parts of merkle_tests.cpp.
The main purpose of this PR is to provide a complete and stable Mining interface for #30437 to build on. This can then be used to develop a "sidecar" alternative to #29432. I'll get to improving the implementation later.