Fix MatchError in tree dumps.

The bug was introduced in 83c487ded5e79804a4f4e45e9214e6e4e04bac8d.
Don't mark types as observed in dumps and when building typed copies.

This prevents logging of AST dumps from affecting the query compiler
semantics and makes ASTs more efficient by avoiding unnecessary
copying of nodes.
Merge pull request #202 from slick/tmp/dont-observe-types

Don't unnecessarily observe types when peeking is enough