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.