WordDocumentTextInfo: if expanding to line using inprocess code results in a collapsed range (even if the offsets are not -1), class this as a failure and resort to expanding to paragraph. This occurs for certain form fields in table cells.
Microsoft Word support: add support for reporting older style form fields in word documents. Re #2295.

Checkboxes, text input and combo box controls are supported so far. Their existance is announced within reading text, including their role, and state for checkboxes and value for combo boxes. The status text is also included as an inforced name.
Neither bookmarks, or moveEnd(story) was used. Rather instead we expand to paragraph and use the first formField found where the original range is found to be inRange of that formField's range.
MS Word support: fetch text with inprocess calls even if  a collapsed range is given. We still want to get outer control fields and initial formatting. Needed for the end insertion point of text input fields within table cells.
Word document NVDAObject's tab script: better handle form fields by speaking the current selected range if the range is not collapsed or the range is inside a table.
Merge branch 'master' into t2295
MS Word support: add support for newer style form fields (content controls). Re #2295.
Merge branch 'master' into t2295
When editing text in PowerPoint, hyperlinks are now reported.

Re #3416.
Merge branch 'master' into t2295
Revert "TreeInterceptor._get_passThrough: return true  if isAlive is false, even if _passThrough is false. This means that until a treeInterceptor is ready, passThrough will be considered on." (Reopens) Re #3388. Fixes #3446.

This reverts commit fde2dcbc9613ec0ddc991f798bbf9230ff6116ad.
api.setNavigatorObject: only switch review modes from object to document if the treeInterceptor is ready. Fixes #3388.
gecko_ia2 vbuf backend: Fix nasty typo that was causing Gecko 1.x (e.g. Firefox 3.6) to crash.

Fixes #3456.
Initial code for automatic activation/deactivation of configuration profiles based on triggers.

To trigger a profile switch, you subclass config.ProfileTrigger. The code that actually executes the trigger then calls enter() and exit() on an instance. Alternatively, the instance can be used as a context manager.
Add config profile triggering for when a specified application has focus.
Initial work on a GUI for managing profile triggers.

Currently, you can only view and remove applications. The button to add an application does nothing right now.
TriggersDialog: Add code for adding an application.
TriggersDialog: Disable the app remove button if there are no apps.
ProfilesDialog: Add "..." to the end of the Triggers button to indicate that it opens a dialog.
TriggersDialog: When adding an app, sort the list of possible apps alphabetically.
Remove some code duplication.