I believe we only need to set skipped if `*updp == NULL`.  For a while I was keeping pages dirty if there were any updates that aren't visible (which is what `skipped` is for), but I switched back so that the page is clean if no updates are skipped before the first update.  The `max_txn` is used to prevent eviction of a clean page with updates that are too recent, and it needs to include all updates on the page.