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 
Dart does not support that neither as ES5.

The for loop would be transpiled to ES5 as 
```
  for (var $__1 = iterable[$traceurRuntime.toProperty(Symbol.iterator)](),
      $__2; !($__2 = $__1.next()).done; ) {
    var $__3 = $__2.value,
        x = $__3[0],
        y = $__3[1],
        z = $__3[2];
    {
      console.log(x, y, z);
    }
  }
```

If this is handled by the `DestructuringTransformer` then there should be no reason why we should have a special check for destructuring construct here - it should work everywhere or nowhere and the best thing to do to solve this would be to add such a destructuring transformer in the Dart pipeline.

That's probably something we can investigate at a later time.