Added a global logging mechanism.

Now to use it and to route its output somewhere useful.
Be sure trailing newlines result in blank lines.
Allow a buffer to be manually marked clean.
Implemented *messages* buffer.

This includes a bunch of other log and status related revampery.
Only query to save buffers that need it.

If we have a transient buffer, we don't care if it's modified.
Use case-insensitive prefix matching in completion.

Aah, so much nicer.
Fix bug with haveSubtext.
Added logging mechanism, other bits.
Track root, id, srcURL, name for seen projects.