If we're in the split-deepen code, there's no need to check if we're looking
at tree internal pages, we are, by definition.
The parent page of a split must be an internal page by definition, don't
bother testing for leaf pages, it's confusing.
The parent page type must be an internal page, don't bother testing for
leaf pages, it's confusing.
When deepening the tree, don't free the newly created child pages until after
it's known that all threads have exited the original page's page index array.
This fixes two problems: first, threads in the original page index array can
see freed WT_REF structures if the newly created child pages are evicted too
soon, and at the end of the function that deepens the tree (after making the
deepen-the-tree split "real", we read through the newly created child pages
without holding hazard references.  Reference #1048.
Check on transaction release if we can release any segments from the
session's free-on-transaction generation list, we were accumulating
them until connection close, which wasn't correct.
Merge pull request #1056 from wiredtiger/stall-eviction-1048

Don't free created internal pages from deepen-split until it's safe.
Reinstate a check after deepening a tree that the child pages are internal pages before descending into them.

refs #1048, #1056.