Refactor SPL flow

To be reviewed commit by commit. 
Adds a diff generator to check we haven't accidentally modified legal factcheck information
Simplify the most complicated paths of SPL flow while leaving factcheck documents untouched