feat(transpiler): Transform for..of to Dart as for..in

Added transformation of for..of into Dart for..in.  
Added error for JS for..in since the semantics don't match.  
Added error for for..of utilizing destructuring declarations.

Closes #53 
> I meant the actual DestructuringTransformer from traceur.

I was also referring to the same one (which transforms ES6 to ES5).

One thing I imagine could go wrong is with the functions / function calls where we use the "{}" notation to define Dart named parameters. The destructuring transformer should be executed after the Dart specific NamedParamsTransformer.

Anyway if a second pair of eyes can help, do not hesitate to share a branch when you have some code ready.