BUG: Fix (another) bug reading settings list

Write a helper function to read a QSettings value explicitly as a list
in Python, in order to work around PythonQt's implicit conversion of
QVariant. Use this everywhere it is applicable in the Extension Wizard
module. This allows us to simplify some places where we iterate over
settings lists, and (more importantly) fixes (another) bug where we try
to iterate over a list that might be empty.

See also r23285.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23302 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Don't nuke external settings changes

Update CTK to include recently added ctkSettingsDialog::reloadSettings
method. Use this to force a reload of settings prior to showing the
settings dialog. This is required in order for the dialog to show
changes that have been made externally (e.g. by installing extensions)
and, more importantly, to avoid overwriting the same when closing (even
canceling!) the dialog.

Issue #3658

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23303 3bd1e089-480b-0410-8dfb-8563597acbee