Tightened up the table's backing file by simplifying the file format: each line contains exactly one row.  With this change, the select-function is more concise.

Tightened up the format of chunk files used for filesort: the keys are omitted and only the values of each row are stored.

Introduced a new Row object which contains the dict data as well as auxiliary information such as the file-position and number of bytes on disk.
Support table operation, delete.
Support the UPDATE operation.
Added unit test: Ensure that row.file_pos and row.num_bytes are correct for select in descending order as well as ascending order.
Switched str to unicode to workaround a bug in the json module: given a string value, json.loads returns a unicode instead of str.
Renamed Stream2Chunk to ChopIterable to communicate its general purpose.  The class will be utilized in ways not specific to "chunks" in the next commit.