Improve working with message lists and calendars in Outlook (#7949)
* Show replied/forwarded status for messages in Outlook
* New, completely different implementation based on the value of the message's UIAGridRow object
* Add getDateFormatEx and getTimeFormatEx to winKernel
* Improvements to the message list and calendar date announcements
* Fixed entire day announcements for calendar
* Only announce appointments and slots as all day when they start and end at noon time
* All day appointments are now called all day and no longer entire day appointments
* Improved clarity of some comments
* Decrease the likelyhood of announcing partial message classes when they ought to be silent.
* No longer try to get flag information from a None selection object in the message list
* Work around null pointer access value error
* Ignore flags when the object model couldn't be accessed
* Catch null com pointer access when fetching UIA children for UIA grid rows
* When getting children to construct the name of an Outlook message, use the ContentViewCondition as tree filter instead of creating a property condition for content elements.
* Revert relying on UIA for Attachment, importance and flag info
* Properly get the value for grid rows, also when they are dynamic type mixed with tree view items (e.g. in conversation view)