This is a follow-up to PR #1849.
Problem
secp256k1_musig_nonce_gen returns failure if its arguments are invalid, for example when a non-NULL seckey fails secret-key validation.
On that path, secp256k1_musig_nonce_gen_internal invalidates the secret nonce on failure, but still unconditionally saves the derived public nonce output before returning failure.
Fix
Clear pubnonce before returning the invalid-seckey failure, so a failed nonce-generation call does not leave a newly written pubnonce behind.
The implementation still saves the public nonce before clearing it on failure (instead of branching around the save), to preserve constant-time control flow with respect to the secret-key validation result.
The second commit only extends existing MuSig API failure-path coverage for paths where secp256k1_musig_nonce_gen_internal already clears pubnonce at function entry before any of its own validation steps.