BUG: Avoid unneeded copy of resource bytes

Modify qSlicerCoreApplication::[un]registerResource to use the
QByteArray's constData() rather than mutable data() in order to avoid an
unnecessary detach of the internally shared data. (Our usage does not
require a mutable pointer at any time.)

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23299 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix qrcc.py operation on Windows

Change qrcc.py to use a temporary file to receive the raw binary rcc
data on Windows, in order to work around what appears to be a bug in rcc
where it is performing line ending (LF -> CRLF) conversion when writing
to stdout, resulting in corrupt data which causes Qt to crash when
trying to load the resources.

See also https://bugreports.qt-project.org/browse/QTBUG-39422, r23297.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23300 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Reenable Extension Wizard module

The previous commit should resolve the issue that was causing the
Extension Wizard module to crash Slicer; therefore, revert r23297,
making it enabled again.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23301 3bd1e089-480b-0410-8dfb-8563597acbee
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