Refactor error parsing in preparation for #38

- Extract a generic parsing function which will later call the
  appropriate error parser.
- Make parsing with error patterns adhere to the indented interface for
  error parsers, in order to unify the implementation of parsing.
- Clarify the distinction between tokenizing errors with patterns, and
  parsing errors out of these tokens.
Improve separation between parsing, analysis and reporting

Sanitizing errors is now part of the parsing stage.  Filtering relevant
errors is separated from sanitizing and moved to the analysis stage.
Error reporting is separated from error analysis.
Extract safe number conversion

Work around silly behaviour of string-to-number, which returns 0 for any
input string that doesn't make sense as number.
Refactor flycheck error struct

Get rid of abbrevations in names of struct members.
Implement a Checkstyle error parser
Remove wrong documentation
Improve and fix error messages in checker validation
[Fix #38] Implement error parsers

Checkers may now parse errors with a specific function.
Report 0 column in Checkstyle output as whole line
Use Checkstyle parser for checkers supporting checkstyle

Update jshint tests to test for warnings accordingly.  Apparently jshint
does report more warnings with the Checkstyle reporter.
Merge branch 'error-parsers'

* error-parsers:
  Use Checkstyle parser for checkers supporting checkstyle
  Report 0 column in Checkstyle output as whole line
  [Fix #38] Implement error parsers
  Improve and fix error messages in checker validation
  Remove wrong documentation
  Implement a Checkstyle error parser
  Refactor flycheck error struct
  Extract safe number conversion
  Improve separation between parsing, analysis and reporting
  Refactor error parsing in preparation for #38