fix multicodec varint parsing for JWT verification
the multicodec prefix for secp256k1 (0xe7 = 231) is actually 2 bytes
(0xe7 0x01) because values >= 128 require LEB128 continuation bytes.
we were only skipping 1 byte, passing a 34-byte "key" instead of the
correct 33-byte compressed public key.
also adds docs/atproto-crypto.md with notes on AT Protocol JWT auth.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>