... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.
That's all that this sweeping commit does.
... Problem is that the delayed undo handling (in the lambda in AudacityApp ::
OnExceptionInMainLoop) should itself have only non-throwing steps.
But there was a redundant attempt at autosaving in ProjectHistory ::
RollbackState, which itself requires another data base write.
But when "rolling back" the in-memory structures to whatever the current state
of undo history is, we can assume that any required autosave was completed
before the current state of undo history was set.
So for rollback only, do not autosave again when discarding changes and
restoring the state. (But do it still, throwing on failure, when moving around
in the undo history, among saved states. We do want to keep the last autosave
consistent with the in-memory state.)