feat(login): add app-password auth and project-local identity
Add --app-password flag to authenticate via ATProto createSession,
bypassing browser-based OAuth. Add --local flag to store session
in .vit/login.json instead of global config, scoping identity to
the project directory.
Update requireDid() precedence: --did flag > .vit/login.json > global
config. Update restoreAgent() and checkSession() to handle both OAuth
and app-password session types transparently. Update vit doctor to
surface identity source and auth type.