Phoenix 180

First revision for review.  There are some open points here.  Still no test case added to consume the stats.  Will do the performance test once the system is available with me.
+1 to storing guideposts in sorted order (hopefully that's a byproduct of
the way you process/add them.

No need to adjust the guidepost - treat them similar to region boundaries.
The first range should start from an empty byte array and go to the first
guidepost, next one from first to next guidepost, and last one from last
guidepost to an empty byte array.