notes about possibility of storing all segments in one file and the page management thereof.  changed btree cursor to accept the root page number instead of the stream length.
representing page numbers in code as an unsigned 32 bit int was causing lots of pain for no benefit.change everything to plain int.
checkpoint.  reduce references to hard-coded PAGE_SIZE
rm PAGE_SIZE constant from the lsm code.  it's a parameter passed in now.
bug fixes. use ReadFully in pagereader when it reads the page from the underlying stream.  fix two places in the fs btree creation code when writing parent pages where the page number wasn't being incremented.  this showed up when trying to run the test suite with very small page sizes like 256 bytes.
pass a tuple range into btree create, containing the first page and the boundary.  test suite currently always passes 1 for the first page and 0 for the boundary, which means no-boundary.  added basic structure for checking the boundary, but those cases don't work yet.
checkpoint.  this code ensures that we save 4 bytes of space on boundary pages.
set page flag for boundary when appropriate.  note that the boundary flag is set only when there is in fact a nextPage field.  if the root node of a segment lands on a boundary node, the flag is not needed and is not set.
boundary pages are now getting something written to their nextPage field.  just a temp value for now.
added code in the next-page cursor stuff to check for boundary page and get the field if needed, otherwise just add 1 to the current page number like before
checkpoint.  introduce pageManager.  pass it down to all the right places.  nothing is using it quite right yet.
checkpoint.  fix writeOverflow and writeParentPages to return new next/boundary page numbers
checkpoint.  fixed searchForwardForLeaf to handle boundary nodes.  added pageManager.GetRange requests in the three easy places.  still need to fix writeOverflow to handle boundaries and readOverflow to handle boundaries as well.
fix overflowreadstream to handle boundaries
refactor writeOverflow a bit to prepare for having it do boundaries
implement boundary stuff in writeOverflow.  untested yet.
bug fixes.  test suite now passes with the page manager set to give 10-page blocks with 3-page gaps gratuitously inserted in between.
added a test case that puts a bunch of runs in a single file.  four runs are added.  then runs 1 and 2 are merged.  then 3 and 4 are merged.  then 1_2 and 3_4 are merged to make 5.  then 5 is iterated.
fix ReadAll to account for the stream position, even though we currently always call it with position=0
chg format of overflow pages.  move the skip field to the lastint32, which is now reused for either the skip field (when it's not a boundary page) or, for a boundary page, the next pagenum.