KBestExtractor: add TreeExtractor
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.

fhieber/incubator-joshua,thammegowda/incubator-joshua,thammegowda/incubator-joshua,lukeorland/joshua,lukeorland/joshua,thammegowda/incubator-joshua,thammegowda/incubator-joshua,thammegowda/incubator-joshua,lukeorland/joshua,lukeorland/joshua,thammegowda/incubator-joshua,fhieber/incubator-joshua,lukeorland/joshua,fhieber/incubator-joshua,thammegowda/incubator-joshua,lukeorland/joshua,thammegowda/incubator-joshua,fhieber/incubator-joshua,fhieber/incubator-joshua,fhieber/incubator-joshua,fhieber/incubator-joshua,fhieber/incubator-joshua,fhieber/incubator-joshua,thammegowda/incubator-joshua,lukeorland/joshua,lukeorland/joshua,thammegowda/incubator-joshua,lukeorland/joshua