Remove sorting from log code. It is not adding a whole
lot of value, but is adding a huge chunk of code.

Signed-off-by: Jim Teeuwen <jimteeuwen@gmail.com>
Implements tooltips in the log table.
The tooltip shows the full source file path to
which the log entry applies.

Signed-off-by: Jim Teeuwen <jimteeuwen@gmail.com>
Splits the application of source processors up into
two separate signal handlers. The rewriting processors
run in the `Document.save` signal. They operate on the
document buffer, before it being saved to disk.

The final, up-to-date buffer is then stored to disk,
at which point the `Document.saved` signal is triggered.
This is where we run the non-writing processors like
`go vet` and `go lint`. They don't work with the Document
buffer, but with the physical file, so they should
be deferred until the save is complete. This gives them
the latest, up-to-date content to work with.

Signed-off-by: Jim Teeuwen <jimteeuwen@gmail.com>