(bug 42543) Corrected checks of emptiness of labels and descriptions

Change-Id: Ib9c95c0091c668317eb382aba21ddcbac06fc403
Fix ExternalRecentChange::getParam()

getParam() tried to get values from the rc_params blob
without unserializing it.

Change-Id: I5e175c38a7345638edeae3ce4b4ab806e8f2c356
(minor) fix for calling options in Widgets based on TemplatedWidget

Change-Id: Ia27d72031cad613b08279ff8f0aa65810bf6545c
Merge "(minor) fix for calling options in Widgets based on TemplatedWidget"
(bug 43006) Simpler implementation of disable for SnakTypeSelector

This basically reverts the enable/disable implementation of I14e89ecc and introduces an alternative
approach. Also fixes the problem that the SnakTypeSelector would not work anymore after I14e89ecc
got merged too early.
The new approach will not change event listeners but instead, the widget simply won't display the
menu anymore in case the widget's current state is set to disabled.
Also improved events bound to window/document for listening whether the menu should be hidden after
a click. This will now support multiple instances of the widget. There will still be one listener
per opened menu of an instance. The difference is, that only the listener of the instances whose
menu has been closed will be removed (before, listeners of all instances were removed as any menu
did close).

- patch set 1: remove some useless mw.log() call, isDisabled now uses option( 'disabled' ) call.
- patch set 2: improved destroy()
- patch set 3: Updated inline comments

Change-Id: I4952fd505814877568a47a4807c56caa8b82b16f
Merge "(bug 43006) Simpler implementation of disable for SnakTypeSelector"
Merge "(bug 42543) Corrected checks of emptiness of labels and descriptions"
Merge "Fix ExternalRecentChange::getParam()"