Made extensive changes to the way the recently-added bookshigController in PreferencesWindow.xib is bound to theDocument in PrefsWinCon, because my prior messing with this, one to several commits ago but not yet released, was found to work in shoebox apps but burp in BookMacster.   Further study revealed it to be kludge upon kludge that needed to be ripped out and rewritten from scratch.  Here are the pieces:

• In PrefsWinCon, theDocument is now a weak instance variable instead of a call to the document controller, kept updated by a new method -updateTheDocument, so that it will be KVO compliant in the conventional way without kludging.
• Added new method -[NSDocumentController(FrontOrder) currentDefaultDocumentAggressively] needed by new stuff in PrefsWinCon.
• Changed name of bkmxDocWillOpenOrClose to bkmxDocOpenOrClose, because it actually runs on ‘DidOpen’ and ‘WillClose’
• In PrefsWinCon, removed m_docOpenedOrClosedKvoTickle.  It was never touched and was therefore having no effect.
• In BkmxAppDel, removed registering for BkmxArrayOfOpenBkmxDocsDidChange because there is and was no such notification ever posted.
• Moved posting of SSYUndoManagerDocumentDidOpenNotification from -[BkmxDoc initializeCommon] to a new override, -[BkmxDoocumentController addDocument:].  The former was really too early, since it occurred during init of the document object, before the document had even been added to the shared document controller.  This notification was only received by one place in PrefsWinCon anyhow, and actually I’m not using it now, but oh well.