Rework how signatures are recorded [#3229]
Closes #3229 (closed). Records signatures and associated data against keys derived from the signer plus the transaction, instead of derived from just the transaction. Records the transaction on the signer's authority's pending list if signing is incomplete. Clears the active signature set, pending state, and associated records when signing completes.
Changelog: refactor