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.
json/jsonval: fix a typo
Included some warning/errors to ignore

In today's html editing, almost nobody writes a "pure" html code
(complete, i mean), with body, title, etc... most of people uses CMS's
and similar things, which means that the html is just a "piece" of html
and not the entire structure, the changes on this branch are meant to
ignore those annoying warnings

The last line is for structures that includes the "&" character, like in
those kind of cases: < a href="http://foo.bar/something.php&value&something&foo" >
Merge pull request #478 from Elive/html-ignore-annoying-errors

Included some warning/errors to ignore
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