Rename "upd_skipped" to be "leave_dirty", it's the flag that sets if we
can mark the page clean or not (allowing the page to be discarded).  Set
the "leave_dirty" flag if there's an update we can't throw away or if
there's an update that's unresolved.

Fix a bug where suffix compression could fail because the largest key
for a split block wasn't on the page, rather it was in a WT_UPDATE list
being saved/restored to a new block.

Fix a bug where a WT_UPDATE list being saved/restored to a new block was
associated with the wrong block because the key it came from was the
first key in a new block, after a split.  (The code to fix this bug in
column-store objects hasn't yet been written, so this commit only works
for row-store objects.)
typo
typo
If we just reconciled the page, reconciliation did the test for whether
or not the page can be discarded.  Don't repeat the test, reconciliation
may have split the block so we can evict parts of it, and this test
would return EBUSY regardless of that work.  The test remains necessary
for clean pages that are being evicted, however.
Don't check for entries == 0 until we check to see if we skipped updates,
skipping updates can result in no entries and an "empty" page, when that
isn't really the case.