Add `owner` and `ata_program_id` parameters to `add_liquidity`,
`remove_liquidity`, `swap_exact_input`, and `swap_exact_output`. User
deposit-side transfers now emit `ATA::Transfer` chained calls instead of
`Token::Transfer` directly, and LP burns emit `ATA::Burn` instead of
`Token::Burn`. Vault withdrawal chained calls are unchanged.
- Add `ata_program_id` field to `AddLiquidity`, `RemoveLiquidity`,
`SwapExactInput`, and `SwapExactOutput` instruction variants in
`amm_core`
- Add `ata_core` dependency to `amm_program` and guest crates
- Update guest binary, unit tests, and integration tests to supply the
new `owner` account and `ata_program_id` at every call site
- Regenerate `artifacts/amm-idl.json`
Closes#11
Move IDL files to artifacts/ and add a convention-based CI check that
discovers all programs via */methods/guest/src/bin/*.rs and fails if
any program is missing its IDL or has one that is out of date.