Add VisitErrorNode() to IAstVisitor.

This has two purposes:
* For IAstVisitor<T>, returning default(T) may cause unexpected behavior in client visitors (for example, null reference exceptions when T is a reference type). Like VisitNullNode(), the VisitErrorNode() method allows visitors to specify a more appropriate default value.
* If an error node contains comment nodes, the output visitor should output those comments.