Replace bushel contacts with sortal
- Remove bushel_contact.ml, use Sortal_schema.Contact directly
- Add typed service_kind variants: ActivityPub (with Mastodon/Pixelfed/PeerTube),
Bluesky, Github, Git, Twitter, Photo, Custom
- Add convenience accessors: github_handle, twitter_handle, mastodon_handle,
bluesky_handle
- Add find_by_handle and lookup_by_name to Sortal_store
- Update bushel_loader to load contacts from Sortal XDG store
- Fix sortal sync to skip PNG conversion when PNG already exists
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>