fix #219 Use snapshot of printers to display messages. Improve error.
The snapshots using duplicate_ident_printer are there to avoid editing the printer during display of error. This also improves the error messages for transformation apply by adding an error exception.