Add syntax checker for Haskell .cabal files

The syntax checker uses the `cabal check` command to check Haskell
Cabal package descriptions for syntax errors and other potential
problems. Currently, the `cabal check` command does not take a file
argument, so the current working directory must be changed to that
of the package description's before `cabal` can be executed.
Additionally, `cabal check` only issues line numbers for parse errors,
so warnings are arbitrarily assigned to line 1.
Rename cabal/check --> cabal/cabal.
Cabal checker: cleanup.
Registry optimisation: lazy IsAvailable() calls.
New checker for sass and scss: sassc.
ruby-lint: removed analyze sub-command

Starting with ruby-lint 2.0 the "analyze" sub command no longer exists.
ruby-lint: add version check for "analyze".
ruby-lint: typo.
filename -> fname

The rationale for this change is that `makeprgBuild` uses `fname` as the
parameter name to retrieve the file path. Therefore, the documentation
has been changed to match the code.
Merge pull request #1113 from BurntSushi/makeprg-fname-param

update makeprgBuild documentation: filename -> fname
rustc: make arguments configurable.
Remove the rustc checket for Rust.

Between #947, #1114, and #1112, this checker is too controversial to
maintain in syntastic.  Please consider using it as an external checker
if you need it:

https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide#external
Add a note about the removal of the rustc checker.
R lint and svtools: fix CWD for Windows.

On Windows R is run with CWD set to the directory used at install time,
rather than the current directory.  The official workaround for this is
to add links to R from the home directories of each of your projects.
We can't do that in Vim, but we can call `setwd()` to Vim's idea of
current directory.  This mimics the behaviour of R on UNIX.
Add a note about rustc's new home.
Cleanup.  Deprecate a number of checker variables.

New / refactored deprecation logging functions:
syntastic#log#oneTimeWarn() and syntastic#log#deprecationWarn().
Bug fix: refresh notifiers in BufEnter, rather than BufWinEnter.
Error highlighting cleanup.
Manual: add a note about netrw.
Make syntastic#util#parseShebang() aware of /usr/bin/env.