New pretty printing facility for Ronja

This helps pretty printing tree-shaped data structures (plans, ast nodes) such that line breaks are automatically inserted, subtrees are properly nested and line width is honored.

As a first application, it provides pretty printing for PlannerQuery.  In the long run this can replace the current prettifier by pretty printing ast nodes directly.