WriterSequential is used to construct a constant B-tree database from an _ordered_ input sequence.

The writer class is fed in two phases. In phase one the ordered sequence of keys together with their value data size (without contents) is delivered to the class via the Add() function. Phase two is started by calling WriteHeader() followed by a sequence to WriteValue() calls for each of the predeclared key-value pairs. The value data is written directly to the file and not buffered. The write loop is terminated by WriteFinalize(), which finalizes the database file.