Commit Briefs
build a cache of hashes for each thread
The idea is to use this cache to spot changed threads and re-export all the mail of the threads that changed. This will allow to add thread navigation hints on each exported mail and have them up-to-date. This makes the "skip if already exported" logic in mexp redundant and incomplete. pe will decide whether to export or not, and mexp blindly do the work.
refactor the parsing into the module
change the mscan format string to siplify the parsing, and refactor the parsing code into the module for reuse. pe is an exception in that it doesn't care about the format string, it just need to decide if the current line starts a new thread or not, that's why it doesn't use the newly introduced `parse'. The new format simplifies pe too though.
simplify the makefile
move the logic of the export to gotmarc, where it's easier to set up the correct env. While here improve the makefile to generate the images and the copy the style only if needed.