added BlockOffset to most of the ChangeRecords and improved the way we calculate the BlockOffset in the PieceTable. eliminated expensive position calculations in the DocListener portion of the formatter. [in more humble terms, i eliminated most of the places where we were doing a linear search on the fragment list -- especially the ones where we were doing redundant searches... :-] please keep an eye out for any weird editing behavior that wasn't seen in the past, since these changes are in the very core of editing engine. a full build is required. jeff
