Add test coverage for sigop counting in P2SH spends in test_witness_sigops(), addressing the existing TODO.
The test mirrors the existing P2WSH cases by constructing transactions that:
- stay below the sigop limit (accepted)
- exceed the limit (rejected with bad-blk-sigops)
- reach the limit exactly (accepted)
Sigop accounting is adjusted for P2SH by applying the legacy 4x cost factor.
This ensures sigop limits are enforced consistently across both witness and P2SH paths.