Write page 0 of a new generation on its own and commit it before writing any other page.
- If page 0 commits, this writer owns the gen_id: write the remaining pages.
- On DuplicateKey, another writer (PSAME or analyze) claimed the gen_id: recompute the next gen_id and retry, having written nothing.
- Relies on page 0's _id depending only on the spec, version and gen_id (num_pages lives in page 0's body), and on every value having a page 0.
See WRITING-11150, ANNEX II.