fix for #3431 - all bolded text incorrectly reported as misspelled in word spell checker.
In Outlook Calendar, NVDA now announces selected time slot when pressing arrow keys. Initial work for #3934.
In Outlook app module, added a class for working with calendar day view. This class is a copy of address entry except it checks for a specific window class name. f Calendar's window class name is same as address book entry, we might as well use address book entry code in calendar code.
This has an issue - when moving to next or previous date, NvDA sitll announces apointment header, which is quite anoying. HOpefully let's find a fix for it.
Initial work on ticket 3934.
Merge branch 'master' into t3934
Pressing TAB or Shift+TAB in Outlook Calendar now announces appointments if any. Initial work for #2943 with tweaks from 3934.
In Outlook app module, added an overlay class to deal with Outlook Calendar which allows announcement of time slots and announcing appointments when pressing TAB or Shift+TAB. This fixes #2943.
The overall code is based on t3934 as the needed functionality depends on ability to hear screen text when pressing arrow keys and tab key in Calendar.
Outlook appModule: remove overly verbose and programmatic name from MSO CommandBar ToolBars.
UIA NVDAObject: implement rowHeaderText, columnHeaderText and table properties, to support column and row headers in UIA where available.
Outlook 2010 and above: make use of the UI Automation grid implementation on SuperGrid where available and provide nicer reporting of message lists, task lists etc.

Its possible to turn of column and row header reading with the fonfiguration option in NVDa's document formatting settings.
Outlook appModule: UIAGridRow.name: handle the rare case in message threading where one of the children can itself be a UIAGridRow. In this case ignore it.
Outlook AppModule: support leftArrow and rightArrow in the calendar, and ensure tab only speaks new  values if focus does not move out of the calendar
Outlook AppModule: announce changing from a calendar view time slot to an appointment via an event_nameChange if the name changed. also only do event_valueChange if the value changes for consistancy.
Outlook appModule: use comHelper to get the native object model so it can be fetched while running installed with uiAccess
Move SYSTEMTIME struct from hwPortUtils into winKernel as it can be used by many other things
Much improved support for the Outlook Calendar:

* Suppress invalid focus events on the daily tasks list while focused on the calendar (stops those "empty row" announcments when moving through the calendar).
* CalendarView NVDAObject: Bind control+leftArrow and control+rightArrow  for calendar movement as these move by day in schedule view.
 * CalendarView NVDAObject: make use of the Outlook object model to detect if a particular time slot  has appointments and announce this on focus/movement. Also only announce the date if it actually changes.
* Don't use UI Automation for windows to do with the calendar in Outlook 2013 as we can better handle the calendar with MSAA +  Outlook Object model.
CalendarView: clarified docstring.
Outlook.CalendarView: added few more commands in move by entry dictionary.
Outlook appModule fix indentation
Outlook appModule: make use of the Outlook native object model to work out unread/attachment/importance status, rather than haivng to reply on hardcoded localized label matching. Also filter out all graphics thus also removing the need for other localized label matching.
Outlook appMdoule: UIAGridRow: ensure that positionInfo exposes a level of 1 for thread headers and 2 for thread items (within a conversation).
Outlook AppModule: UIAGridRow: expose collapsed/expanded for threads at the start of the name. In theory we should really be configuring if state should be spoken first some how. But for now with great length of name, I think this is useful.
Outlook appModule: report if a message is a meeting request