Fix E855 on :lclose

Since 7.3.449 trying to :lclose inside BufWinLeave result in E855:

    $ vi -u /dev/null --noplugin -N
    :autocmd BufWinLeave * if empty(&bt) | lclose | endif
    :lexpr(':1:msg') | lopen | wincmd p | lclose
    E855: Autocommands caused command to abort

    $ vi -u /dev/null --noplugin -N
    :autocmd BufWinLeave * if empty(&bt) | lclose | endif
    :lexpr(':1:msg') | lopen | wincmd p | q
    E855: Autocommands caused command to abort

Another issue with this autocmd is &bt in BufWinLeave may be different from
the buffer being unloaded (this is documented behaviour for BufWinLeave).
Replacing &bt with getbufvar(0+expand('<abuf>'), '&bt') solve this, but
doesn't fix issue with E855 completely (first of above examples with
:lclose is fixed, but second with :q is not fixed).

So, to work around E855 I've changed way to close location-list:
instead of closing it on BufWinLeave, it's closed on BufEnter into
location-list window if it's only buffer in current window.
Merge branch 'master' into E855-on-lclose
Add a check for the error messages variable so that users can specify their own error format.
Updated the dart syntax checker.

It now uses the correct path for the dart_analyzer, it uses the
machine readable format to provide more information.

The highlighter now highlights the exact span that the analyzer complains
about. Further, warnings are different from errors now.
detect warnings in jshint

pass `jshint` the `--verbose` option to get 'W' or 'E' indicating
whether something is a warning or an error.

NOTE: this was tested with jshint 1.1.0 installed with `npm install
jshint`
Work with copy of g:syntastic_vala_modules list.
redraw! causes screen flicker in mvim too
recognize flake8 2.0 error output
Added documentation for the g:syntastic_c_checker option
Merge pull request #566 from Chronial/master

flake8 2.0 error parsing
python/flake8: add some backwards compat

make it match E and W for flake < 2.0
Merge pull request #564 from hdoshi/master

Use redraw in mvim
Merge pull request #563 from Lasall/vala-modules-copy

Work with copy of g:syntastic_vala_modules list.
Merge pull request #562 from joshuarh/jshint-warnings

detect warnings in jshint
jshint: add a comment version requirements
Merge pull request #559 from troydm/master

javac checker maven executable option added
Cleanup: a simpler and more efficient approach.
SyntasticChecker: extract out the highlight regex population code
Revert "python/flake8: add some backwards compat"

This reverts commit 0ef513a0a8f14ad8194a3300ec2563761a1334fe.

The cases that I was trying to catch here were already caught further
along in the errorformat
Merge pull request #567 from Chewie/syntastic_c_compiler

Added documentation for the g:syntastic_c_checker option