Implement len() as unary operator
Add skeleton of for statement generator
Binops need parens to yield intended order of operations
Fix simple bug in iter_length
Output should end in newline
More complex logic to generate necessary variables

We need quite a few temporary variables
Generate parameters for for loop
Suffix generated symbols with useful hints

Without these, our generated code is pretty unreadable. Also update the
scanner to reject this new pattern.
Whoops... didn't need to generate quite so many symbols
Calculate iterator wraparounds for flattening loops
Fix get_iter_properties

- All iterators need an output - the original
- All iterators need an index, from which the output can be calculated
Actually, we don't need idx variables...

Because they would only be used as temporary variables anyway
Initialize output variables of iterators
Also create symbols for start and inc, but only for ranges
Add the assignments that should happen on each iteration

This completes the first pass of for loops, so basic functionality is
there. I've left TODOs where I've left errors unfixed, or where we can
improve functionality
add for loop to control_flow test
Merge branch 'forloops'