THINGS ARE BROKEN FOR NO REASON
This is largely a move to simplify a lot of the readers Also further breaks out functions.
Use direct comparison of filenames rather than path.Match, which gives characters such as '[' special meaning, resulting in unexpected failures when calling Open, ReadDir, Stat, or Sub.
Trying to figure out how to write. Might have to keep tables uncompressed for now.