This PR adds a spendable state to outputs in BIP 329, allowing wallets to properly export and import the spendable state of outputs.
This allows wallets to prevent users accidentally spending funds they previously marked as unspendable in wallets like Sparrow or Samourai that support coin control.
We plan to implement the usage of BIP 329 into Envoy shortly, and wanted to ensure that our users have a way to transfer spendable state in and out of the wallet and to other BIP 329-respecting wallets without issues, thus the PR.
Note: this does expand the scope of this BIP very slightly, almost making it a wallet "metadata" BIP instead of purely label-related. I'm happy to expand the PR accordingly by updating the title and copy to reflect that slight scope shift if desired but wanted to start the conversation off with the minimum changes necessary.
This PR currently would conflict with #1412, but I will rebase once that PR is merged to accommodate it and then can squash commits.