Fix return type printing for defs, vals and vars

The return type of a symbol was wrongly printed in the it doesn't yet
exist in the sources but it was added by a tree transformation.

The return type needs to be set by calling `setOriginal` on `TypeTree`
in order to print it explicitly in the output.

This also adds a `ReusingPrinterTest` class, which can be used to test
the printer output after tree transformations.
Add `ValOrDefDef` extractor to support Scala 2.10
Merge pull request #61 from sschaef/fix-return-type-printing

Fix return type printing for defs, vals and vars