Make ExtractInputs ignore nonexistant .aux files

If an .aux file isn't found by kpsewhich, it is saved as '' in
ExtractInputs()' matches list and subsequently removed with filter().
Fix LatexBox_kpsewhich() behavior

Using :redir results in a number of issues:
- Additional newline(s) in output that have to be stripped out
- Must :redraw! afterwards

Using system() is cleaner. Additionally, the function can be simplified
in the following ways:
- kpsewhich returns either a single filename with a trailing newline, or
  an empty string, so only the last character has to be stripped out if
  a match is found
- LaTeX doesn't handle filenames with newlines (the newlines are
  stripped out), but that's not our problem: we just let Latexmk fail
  accordingly
- kpsewhich doesn't use wildcards, so the glob() call is unnecessary
Move filereadable() check into GetLabelCache()

Now the label completion mechanism completely ignores \@input'ed .aux
files that aren't there.
Fix exploding label cache
Assorted fixes and cleanup

- Remove fnamemodify() call from GetLabelCache(), because it is always
  given an absolute path anyways (either from LatexBox_GetAuxFile() or
  from LatexBox_kpsewhich()).
- Remove unnecessary labels initialization in GetLabelCache().
- Extract labels and inputs in a single buffer
- Remove unused additional argument for CompleteLabels()
Merge pull request #74 from runiq/refcomplete_with_include

Fixes label completion with include and inputs.