The section number (column header) is -1 when the section is hidden. The defaultdict use would cause extra columns to be created since the column count is based on the size of the headers object and -1 would add a new entry. Change headers to lists.
Infrequently data() is called with an invalid index and then apol crashes.
Closes #88
Closes #76