Formally declare checkers

Introduce `flycheck-declare-checker` to declare a symbol as syntax
checker.  Store checker properties in the symbol property list, unifying
the treatment of checkers throughout the code, because the checker and
its properties are no longer separate objects.