feat(5285): migrate unsigned Shelley tx builder
Move the unsigned Shelley transaction body builder onto ledger types so
`mkUnsignedTx` no longer routes through `Cardano.createTransactionBody`
or `Cardano.TxBodyContent`.
The shared ledger builder now lives in a new acyclic sibling module
`Cardano.Wallet.Shelley.Transaction.Unsigned`. Both
`Cardano.Wallet.Shelley.Transaction` and
`Cardano.Wallet.Shelley.Transaction.Ledger` import it without
re-introducing the legacy cycle that `Transaction.Ledger -> Transaction`
required for `signTransaction`/`txConstraints`. `mkUnsignedTx` takes
ledger `[TxCert era]` and `Withdrawal` directly, constructs the body
with `buildLedgerTxRaw`/`mkLedgerTx`, and extracts the `Cardano.TxBody`
shape from the ledger tx so existing signing call sites keep their API
surface untouched (signing rewrite remains scoped to #5289).
`Cardano.Wallet.Transaction.Delegation` and
`Cardano.Wallet.Transaction.Voting` are deleted; their last call sites
use the ledger-native helpers
`certificateFromDelegationActionLedger` /
`certificateFromVotingActionLedger` exported by
`Transaction.Unsigned`, and the cabal `exposed-modules` block is
updated accordingly. Dijkstra remains unsupported exactly as today, and
no files under `lib/integration/**` are touched.
Tasks: T010, T011, T012, T013