//Every open chat is about to close. We perform the internal closing here rather than calling on the interface controller since the UI need not change.
//Also, we don't care for still processing content, the user won't see it anyway, and it can make Adium refuse to quit.
* @brief Opens a chat for communication with the contact, creating if necessary.
*
* The interface controller will then be asked to open the UI for the new chat.
*
* @param inContact The AIListContact on which to open a chat. If an AIMetaContact, an appropriate contained contact will be selected.
* @param onPreferredAccount If YES, Adium will determine the account on which the chat should be opened. If NO, inContact.account will be used. Value is treated as YES for AIMetaContacts by the action of -[AIChatController chatWithContact:].