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
Merge pull request #223 from johnjbarton/issue222

Fixes 222, CloneTreeTransformation fails on trees with empty lists.