settings: move TabWidth into PrereleaseSettings
don't include child-less nodes in FileState::tocState