Make `PlutusTxInfoResult` failable on `PlutusPurpose`
Add `mkPlutusTxInfoFromResult` and `toPlutusTxInfoForPurpose` helpers to aid in using this nested complexity.