Fixes 222, CloneTreeTransformation fails on trees with empty lists.

transformList now returns new list if the input is empty, it's another kind of leaf.
Add test that cloned tree does not overlap original.
BUG=https://github.com/google/traceur-compiler/issues/222