only reset AudioDiskstream write sources if the I/O configuration changed. Do not do this for connection changes etc.
don't save state when removing sources during session loading (though this should no longer happen)
do not attempt to save undo history if it is empty, and do not do any part of history save if we're not going to write a new file