[Chronik] Add /broadcast-tx(s) endpoints
Summary:
These endpoints are similar to the sendrawtransaction RPC, with some differences:
- They take a serialized BroadcastTx(s)Request (similar to most Chronik endpoints)
- They perform an SLP/ALP check and reject all txs atomically if any tokens are unintentionally burned
Currently /broadcast-txs, after the token check, simply broadcasts txs one by one and not as a package. This matches the current NNG Chronik behavior, but in the future we could use the AcceptMultipleTransactions function from the node to make that atomic, too.
Depends on D15369.
Test Plan: ninja check-functional
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D15370