fix: validate governance action constructors reject invalid input
The new Conway governance constructors accepted inputs that produced invalid or panic-prone objects. Tighten validation so construction fails fast instead of deferring the failure to encode/PlutusData. - NewConwayGovAction now returns an error for a nil or unsupported governance action instead of silently coercing it to discriminant 0 (which equals ParameterChange); conwayGovActionType returns (uint, error) - NewUpdateCommitteeGovAction rejects a zero-value cbor.Rat quorum, which has a nil inner *big.Rat and panics when CBOR encoded - NewTreasuryWithdrawalGovAction and NewUpdateCommitteeGovAction reject nil map keys, which panic when the action is rendered to PlutusData - add negative tests covering each rejected case Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Signed-off-by: Chris Guiney <[email protected]>