This makes the parser a lot more lenient on what it accepts as input,
and the variable interpolation and reformatting is now much more
conservative. This should fix a whole bunch of warts (and possibly
introduce a few new ones).
This also removes parenthesis support for pre_if, since that hack was
very unreliable in the first place.