Properly close file in `guess_tex_engine`

#ignore
Remove unnecessary function call in “LaTeX Watch”

#ignore
Only parse log file if there were changes

Before this change error markers and the notification window could
disappear even though the file still contained errors. This would
happen if we saved the document without making any significant changes.
In this case `latexmk` would essentially generate a log which would
report that there were no changes at all. We would parse this log and
find no error messages. This would leave `texparser` with the
impression that there were no errors. It would therefore remove old
gutter marks. `latex_watch` would close the notification window since
`latexmk` reported no errors (exit status 0).
Improve readability of verbose log output
Improve rewrap code in `texparser`
Improve reopening of closed notification windows

We now also reopen a closed notification window when the state of the
document has not changed. Before this commit a closed notification
window would not reappear if we just saved the file without making any
significant changes to the document.
Close notification window on cleanup
Do not store duplicate error messages anymore

Before this change it would be possible that the same error message
would show up multiple times in the notification window.
Sort error messages by line number

Error messages in the notification window will now be sorted according
to their line number.
Display default message in notification window

If `texparser` could not find any error messages containing line
information, then it will now show a generic default error message in
the notification window.
Remove unused code from `latex_watch`

#ignore