Strongly improved parser (Ex. 8)

+ no longer requires identifiers for atomic operations, variables or
functions;
+ now also accepts uppercase names;
+ improved lexer for names;
+ it is now possible to parse formulas of the form "A x E y R[x,y]"
- it is no longer possible to correctly identify functions without a
body as functions (e.g. in "R[f, y]", with f being a function, f is now
parsed as a variable)