TypedTreePrinter added to Printers

1. TypedTreePrinter is added to internal.Printers. TypedTreePrinter generates the code for passed attributed trees.
2. Attributed val/var processing for syntactics added ([SI-8180] (https://issues.scala-lang.org/browse/SI-8180)).
3. Tree-based printer selection for showCode added.
4. Tests for TypedTreePrinter are added.
5. Code cleanup for EOL-printing https://github.com/scala/scala/pull/3377