feat: optimistic updates for jj new with pre-allocated change IDs
Add support for optimistic UI updates when creating new revisions:
- Add generate_change_ids Tauri command to pre-allocate change IDs from jj-lib
- Add change ID pool in db.ts that pre-fetches IDs and refills when running low
- Update jjNew to accept optional pre-allocated change ID
- newRevision now creates optimistic revision immediately, reverts on failure
- Add ensureChangeIdPool/ensureRepositories for router preloading
- Update mocks to support the new flow