Fix typing idempotency bug with Annotated trees

typedAnnotated transforms an Annotated tree into a Typed tree. The
original field of the result is set to the Annotated tree.

The bug was that typedAnnotated was using the untyped Annotated tree
as original, but also set its type. When re-typing later on the same
Annotated tree, the typer would consider it as alreadyTyped. This
is incorrect, the typer needs to convert Annotated trees to Typed.

Also, the Annotated tree only had its type field set, but its children
were still untyped. This crashed the compiler lateron, non-typed trees
would get out of the typing phase.
Additional test case for Lukas' fix to annotated originals.

This was inspired by the regression that Mark encountered
when upgrading SBT from 2.10.0 to 2.10.1-RC1.
Merge pull request #1 from retronym/topic/annotatedRetyping-test

Additional test case for Lukas' fix to annotated originals.
Merge pull request #2118 from lrytz/annotatedRetyping

Fix typing idempotency bug with Annotated trees