PSBTInput::Merge (used by CombinePSBTs / combinepsbt RPC) did not handle the sighash_type (PSBT_IN_SIGHASH) field at all:
- When only the incoming PSBT had sighash_type set, the field was silently dropped from the merged result.
- When both PSBTs had conflicting sighash_type values, Merge returned true instead of false, violating BIP 174 combiner rule: 'If two PSBTs contain the same key and different values, the Combiner MUST reject the combined PSBT.'
Fix by copying the field when the receiving PSBT lacks it, and returning false on conflict.
Add six unit tests covering: both absent, copy from other, preserve existing, same value, and two conflict cases.