Execute syntax check as multiple phases
Execute syntax check as multiple phases

Wire up CompilerFailure as an Exception and use `catch` rather than
endless ExceptT in the monadic Program part of TechniqueUser.

Represent the individual phases (load,parse,translate,...) as individual
layers, with format only needing the first two whereas check will
ultimately go all the way to a validated abstract syntax tree.

oprdyn/technique,oprdyn/technique