Always been on 10.5+ for a while here.
Properly continue displaying output device in Preferences when device list changes.
Remove dead code.
Use kAudioDeviceUnknown explicitly.
Don’t invalidate the (Pester-overridden) default output device when the system output device changes.

There is absolutely no point in doing this and it caused Pester to confusingly revert its output device for a long time.  (The overall purpose of this code changed substantially over its lifetime and I never rationalized what was happening until this weekend.)  If the output device is not overridden, the current output device is not cached, so there is no need to invalidate it.

Comments should make it clearer the purpose of defaultOutputDevice (it’s only set if it’s overridden), the purpose of the callbacks.  When Pester actually *needs* to invalidate the default output device (because either it is changing or the device list is changing), we invoke an appropriately-named method.  This ensures Pester always has *somewhere* valid to send audio.