Accept camelCase aliases on LegacySession and Identity
Two pre-existing test failures boiled down to the same root cause:
the wire format for atproto lexicon records is camelCase, but the
serde structs were declared snake_case only. Tests exercising legacy
login and identity-file migration therefore failed on deserialization
with "missing field `access_jwt`" / "missing field `public_key`".
Adding `#[serde(alias = ...)]` on each affected field lets the
structs accept either form on read while still emitting the canonical
snake_case name on write. That means:
- Legacy session parsing (createSession / refreshSession) now works
against real PDS responses, not just test fixtures that pre-shaped
the JSON into snake_case.
- Identity files written by an older version in camelCase (the
format the migration test assumes) load cleanly; files written
today stay snake_case, so the on-disk format doesn't churn.
Confirmed `cargo test -p opake-core --lib` (571 pass) and
`cargo test -p opake-cli` (103 pass) both green — the two failures
flagged during the Identity refactor now resolve.