Bug: `Cannot construct a value of type: PlutusTx.Builtins.Internal.BuiltinUnit` (#7162)
* feat(plutus-tx-plugin): improve stage violation error messages
Add detection of opaque builtin types (BuiltinUnit, BuiltinData, etc.) from PlutusTx.Builtins.Internal and provide actionable guidance when users hit "Cannot construct a value of type" errors.
These errors typically occur when where-bindings inside compile quotations trigger stage violations. The improved messages explain the cause and suggest moving bindings to top-level.
* test(plutus-tx-plugin): add stage violation error message tests
Exercise the improved error messages for various opaque builtin types: BuiltinUnit, BuiltinData, BuiltinByteString, BuiltinString, BuiltinList. Includes positive test for BuiltinInteger (type alias, not opaque).
Uses context-level=0 to avoid package hash mismatches between local and CI builds in golden file output.
* docs: document where-binding stage violation workarounds
Add troubleshooting section explaining why where-bindings inside compile quotations fail with 'Cannot construct a value of type' errors. Provides concrete before/after code examples showing how to move bindings to top-level.
* chore(plutus-tx-plugin): add changelog entry for improved error messages