Fix for multiple linters on the same file (#139)

When multiple linters are run on the same file, the file is sometimes unlinked too early when the first linter running emits multiple messages.
A ref-count was added to keep track of how many linters have been processed, and only if all linters have emitted messages, the temporary file is removed (unlinked)
#139