StaticValidator: When a keyword is misused as a function, say which one.

Also make the GdlPool's list of keywords immutable.
StaticValidator check for zero-arity rules and sentences.

Also found in the process that the GdlCleaner sometimes needs to run
multiple times, so fixing that. The GdlCleaner sometimes results in
GdlPropositions scattered around, which is technically wrong but not a
real problem, so making that a "warning" in the validator for now.
Long-term, the GdlCleaner should fix that, too.

Fixing related tests and test classes.
Merge pull request #30 from ggp-org/static-validator

StaticValidator improvements