Added some macro iterators

As per the discussion in 1bbeeeee39a5936ee4c29fd704390befd96be653.

This adds macro versions of

* zip
* enumerate
* take/takestrict
* drop
* chain

which work on for loops. They all follow the same general syntax: whenever one would write

```
for VARS in ITERATOR(ARGUMENTS)
  BODY
end
```

the corresponding macro version is:

```
@ITERATOR for VARS in ARGUMENTS
  BODY
end
```