Split Emacs command variable into executable and args
Require plain strings for checker executables

The executable of a syntax checker command is not subject to
substitution anymore.
Simplify the documentation of argument substitution
Remove superfluous test case

The tests for built-in checkers already test chaining as well.
Add executable variables for syntax checkers [#143]
Add command to select the syntax checker executable
Add executable variable to syntax checker docs
Warn about non-interactive use of -set-checker-executable

Since r115230, we can mark functions for interactive use only, and have
the byte compiler warn about non-interactive calls of these functions.

We use this to mark `flycheck-set-checker-executable' for interactive
use only, because we do not want Lisp code to call it.  Instead, Lisp
code should just set the corresponding executable variables directly.
[Fix #272] Merge branch 'override-executables'

* override-executables:
  Warn about non-interactive use of -set-checker-executable
  Add executable variable to syntax checker docs
  Add command to select the syntax checker executable
  Add executable variables for syntax checkers [#143]
  Require plain strings for checker executables
  Split Emacs command variable into executable and args
Add key binding to set the executable