Replace nexttoken() and explicit check by match()

Aho, Lam, Sethi, Ullman, "Compilers: Principles, Techniques, and Tools"
2nd Edition, section 2.5
Fix list handling in parsedecls and parsestatements and typo in error message
BUGFIX: Do not overwrite Tokentype ELSE

Tokentype NONE has now the value 0. Previously, ELSE had this value,
leading to have it overwritten it with IDENTIFIER when storing the
token in the symbol table, because 0 is the default value after
allocation of a new symbol.
Now NONE is explicitly used to prevent such errors.
Make simple1.sp conform sp syntax

Every if needs an else in the official grammar.
Make simple1.sp conform sp syntax and add if.sp

All statements have to be followed by semicola,
if X else Y then Z is a statement and this has to be followed by a
semicolon.
Match IDENTIFIER in READ and change debug output
Add while.sp