Send non-current buffers during `trackAll`
Send non-current buffers during `trackAll`

When `s:DidOpen` called `lsc#file#flushChanges` it would happen for the
current buffer rather than the `file_name` from the argument.

- Use a closure in the timer so the argument to the function can be
  ignored locally rather than within another function.
- Make the function which actually flushes script-local and honor a
  `file_path` argument.
- Call `DidOpen` from `FlushChanges` rather than the other way around.
- Always call `FlushChanges` when the intention is "flush or open".
- Add `lsc#ilfe#flushChanges` with explicitly no arguments to handle the
  current buffer case when called from other files.

natebosch/vim-lsc,natebosch/vim-lsc