Set syntax checker properties at runtime

Simplifies property assignment and verification, and avoids that the
internals of syntax checker definition leak into byte-compiled files of
depending libraries.

Also fix the naming of properties, by not using self-quoting symbols,
which seem to be reserved for keyword arguments, by convention.
Introduce a version number for syntax checker definitions

Guards against backwards-incompatible changes
Do not error on invalid checkers

Instead, just return nil and show a warning message.