Registry cleanup, stage 1.

Make SyntaxCheckers_*_GetLocList() dictionary functions.
Pass a reference to the current checker to syntastic#makeprg#build().
Add an optional 'redirect' argument to CreateAndRegisterChecker().
Change the sh checker to use the new dictionary functions.
Add a new registry method getLocListRaw() (needed for the sh checker).
Registry cleanup, stage 2.

(1) Checkers now have an _exec attribute, and an accessor getExec().
(2) CreateAndRegisterChecker() initializes _exec from an optional argument
'exec'.  If this argument is missing, 'name' is used instead.
(3) Functions SyntaxCheckers_*_IsAvailable() are now dictionary functions.
(4) Functions SyntaxCheckers_*_IsAvailable() are now optional.  When
they are missing, they are assumed to return executable(expand(self.getExec())).
(5) Argument 'exe' of function syntastic#makeprg#build() is now optional.
If this argument is missing, expand(self.getExec()) is used to set checker
executables.
Registry cleanup, stage 3.

Make syntastic#makeprg#build() a dictionary function.
Remove the mandatory checker argument to syntastic#makeprg#build().
Update for shellcheck.
Merge branch 'master' into registry_cleanup
Update scss_lint to the new registry framework.
Cleanup.
Safety checks for ghc-mod.
Add a warning about using syntastic_delayed_redraws.
Merge branch 'master' into registry_cleanup
Merge branch 'master' into registry_cleanup
Merge branch 'master' into registry_cleanup
JS-YAML: fix errorformat.
Merge branch 'master' into registry_cleanup
Cleanup related to the HighlightRegex() functions.
Typo in html/tidy.
Merge branch 'master' into registry_cleanup
More typos.
New chacker cppcheck for C/C++.
New checker eslint for JavaScript (@maksimr).