Translation: use "()" for untranslated tree output
KBestExtractor: add TreeExtractor

A DerivationVisitor implementation that builds a tree straight from the
given Derivation, instead of reading trees from a fragment map file.

That is, the tree is built under the assumption that rules used in the
derivation have no internal structure and are instead flat CFG rules.
tests for tree format output