Stpl comprehensions

Fixes the parser to allow this code to render:

```python
% a = [
%    (i + 1)
%    for i in range(5)
%    if i%2 == 0
% ]
```

This was written on top of the cleanup in https://github.com/bottlepy/bottle/pull/689