When switching to a profile which specifies a different audio output device, speech now switches as expected, even if the synthesiser is the same.

Fixes #3635.
Log DeprecationWarnings.

We were already logging Python warnings, but Python ignores DeprecationWarning by default. We want developers to see these and they're logged at debugWarning, so they won't annoy people that don't care.
Bring back config.validateConfig and config.save for 2013.3 (but marked as deprecated) so we don't break add-ons that depend on these.

Fixes #3632.
Update What's New.
Developer Guide: Explain that scripts won't appear in the Input Gestures dialog unless they have a docstring.
Fixed an issue where the HumanWare Brailliant BI/B series braille display driver wasn't presented as an option in the Braille Settings dialog on some systems, even though such a display was connected via USB.

It seems that there can be entries under the USB product key which don't have the Device Parameters\PortName value. Previously, this caused an exception which aborted the scan, skipping even Bluetooth devices.
Merge remote-tracking branch 'origin/master' into jpbranch
Merge commit 'fetch_head' into jpbranch
work around Firefox and mouse pointer movement. nvdajp ti32433
updated notes for nvdajp regarding ti32321
more updates regarding ti32321