Parser: Merge multi-line and non multi-line code. Fixes GH #5.

This finally enables getting rid of parse_simple_condition, which replicated
much of what statement did, but to allow single-line expressions only.

There are still some restrictions that require some blocks to be multi-line
even though they really could be single-line. I might change that later. My
initial reason for doing it that way was that I thought that certain blocks
would be useless if single-line.

This was a refactoring which aimed at keeping compatibility, rather than a
refactor+behavior change (because I don't want to guess which went wrong when
debugging things).

The plus of this is that I don't have to code twice every time I add a new
keyword in, which is a good thing.