ENH: Improved scripted module loading error message

It happened multiple times in our group that a developer spent a lot of time trying to find errors in a scripted module, simplify the class, make it more similar to the template, etc. to find what can be wrong in the class because "Failed to load scripted pythonqt module class definition" error was reported. Then it turned out that the module class is perfect, only the name does not match the filename.

Implemented fix: changed the error message to "class ... not found in file ..." to make it clear that the problem is not in implementation of the class but in the name.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23232 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fixed DICOM browser persistence

If the DICOM browser persistent option is enabled (usually when the DICOM browser is displayed on a second monitor) then the browser should be kept open when an image is loaded or the user opens another module.
The persistent flag was observed almost everywhere where it was needed, except at the end of the image loading step.

From: Andras Lasso <lasso@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23233 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Allow users to acknowledge all DICOM loading errors with a single click

Problem: Each DICOM loading error was displayed in a separate popup, which
 required the user to click as many times as many series failed to load.
In some cases there are a large number of failures (for example,
experimental MRI sequences), which makes loading of a complete study very
frustrating (need to click 30 times, waiting several seconds between each).

Solution: Changed the error reporting to collect all errors and show it to the user at the end of the loading in a single error popup.

From: Andras Lasso <lasso@queensu.ca>

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