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
Fix flake8 error/warning checking

Error/warning checking did not correctly parse output from flake8. This
resulted in Syntastic incorrectly displaying some warnings as errors.
Merge remote-tracking branch 'scrooloose/master'
Fixing the ycm files

The new Syntastic API was not correctly merged into these files. This commit
should fix this.
Minor omission in commit 8f4695c.
Perl syntax checker using perlcritic.
fix a bug with the yaml checker
Merge pull request #477 from lcd047/master

Minor fix + new syntax checker for Perl using perlcritic
Merge pull request #470 from Valloric/ycm_bad_merge_fix

Fixing the errors in the ycm files
perlcritic: :retab the file to make the indenting consistent

Syntastic uses 4 space indents, update this file to be consistent.
Remove broken rvm handling in mri ruby checker

RVM does not always provide an executable for  specific ruby version
that is loaded (the "system" version).

RVM, or whatever else the user uses, should always setup "ruby" to point
to the correct version so this can always be used.
add cp932 to tidy.vim.
Merge pull request #484 from pipboy3000/cp932add

Add cp932(Windows-31J) support to tidy.vim.
bugfix for c/ycm
Munge the output of pylint in Vim rather than relying on sed(1).
Merge pull request #489 from lcd047/master

Remove sed(1) dependency from pylint
html: only try to run tidy by default - not w3c

The w3c checker goes out to the internet to get its results so disable
it by default.
Off by one error, sorry. :(
Merge remote-tracking branch 'upstream/master'