Override executables

An implementation of #143.

# API

Each syntax checker gets a buffer local, customizable variable named `flycheck-CHECKER-executable`.  If the value of the variable is not nil, it is used as executable in place of of the default executable (i.e. the first item of `:command`).  This variable can be set by the user or by 3rd party extensions.

Additionally provide the command `(flycheck-set-executable checker executable)` to let the user conveniently select an executable.