Add utility script that helps with debugging failing tests.

It is very useful in parser tests, where output is very-very verbose
and it is impossible to spot one difference in source span, for example.
Major clean up of the parser tests.

The construction of the expected syntax tree looks completely different
now (more tree-like instead of linear). A lot of boilerplate is cleaned up
with the help of "smart constructors" in ASTHelpers. I find this way
much cleaner for working with tests.
Parser tests. Move instance for Parsec types to the end.
Parser tests. Experiment with source spans construction.