Add :error-filter checker property to apply custom functions to errors after parsing

An `:error-filter` is a function, which is called with all errors, and may modify, filter or otherwise manipulate all errors, in-place or by copying.  The return value of the function is then used as the result of the syntax checker, and fed to Flycheck's further processing.

A number of error checkers make use of this property to improve the error message display:

- `haskell-ghc` dedents error messages.
- `emacs-lisp` collapses all whitespace to remove annoying line breaks.
- `c/c++-clang` folds error messages from included files into the error referring to the corresponding include line.