Implements correct 5-tier credential priority in all four implementations:
1. Explicit -p/-k flags
2. --account N -> accounts.csv row N (bypasses env vars)
3. UNSANDBOX_PUBLIC_KEY / UNSANDBOX_SECRET_KEY env vars
4. ~/.unsandbox/accounts.csv row 0 (or UNSANDBOX_ACCOUNT env var)
5. ./accounts.csv row 0
un.m (Objective-C): adds UNLoadCredentialsFromCSV helper, updates UNGetCredentials
to use g_accountIndex global, parses --account N in main() pre-scan.
un.f90 (Fortran): adds load_csv_row subroutine, updates get_credentials with
optional account_index parameter, parses --account N in main program pre-scan,
passes account_index via host association to all handle_* subroutines.
un.zig (Zig): adds loadCsvRow and resolveCredentials functions, parses --account N
in main() pre-scan, updates execute-mode arg loop to skip known flags.
un.nim (Nim): adds loadCredentialsFromCsv and resolveCredentials procs, parses
--account N in main() pre-scan, updates execute-mode loop to skip --account.
- Add `un languages [--json]` command to list available execution languages
- Add `un image` command with full image management:
- --list, --info, --delete, --lock, --unlock
- --publish, --visibility, --spawn, --clone
- Update CLI_SPEC.md with new command documentation
- All implementations follow consistent patterns