Add TenantId (from-str, normalized, non-empty) and TenantRegistry that provisions one isolated TenantSession per tenant behind an RwLock<HashMap>. In-memory store only for now; disk-backed per-tenant stores + daemon wiring land in Tasks 2-3. 4 unit tests pass, ./check green.