Each publish event now writes a fresh lol.mlf.package/<tid> record
instead of clobbering a single com.atproto.lexicon.schema/lol.mlf.package.
The schema definition and the manifest instance are different things
in different collections, so they stop colliding when an mlf project
dogfoods lol.mlf.package as a user lexicon.
- mlf-atproto: new tid module (sortable base32 TID generator, CAS loop for monotonicity)
- mlf-publish/manifest: drop the schema envelope; instance carries
$type = "lol.mlf.package"and only instance fields - mlf-cli/publish: write manifest to
lol.mlf.package/<tid> - mlf-cli/unpublish: list the manifest collection, pick the newest by TID, delete everything it lists + the full publish log