This reworks the Schnorr multisigning API to 4 self-contained functions:
- secp256k1_multischnorr_stage1 computes public nonces
- secp256k1_multischnorr_stage2 computes partial signatures using those public nonces
- secp256k1_multischnorr_combine_sigs combines stage2 sigs into a full signature
- secp256k1_multischnorr_combine_keys combines signers’ public keys into a combined public key.
This changes the combined public key to be A*H(A) + B*H(B) + C*H(C) + ...
, in an attempt to prevent a pubkey cancellation vulnerability.
The documentation is also moved out to a separate schnorr.md document.