ENH: Subject hierarchy nodes not auto-created by default

Subject hierarchy auto-creation has caused problems in other modules (like Models, see referred ticket), and some users won't use subject hierarchy, so the supported data nodes are not added to the hierarchy automatically.
Now when the user enters subject hierarchy, and there are supported nodes (i.e. there is an SH plugin that can handle the node) in the scene, a question pops up whether the user wants to create subject hierarchy. If they say no, the hierarchy remains empty and unusable, if they choose yes, then the hierarchy is created once, if they choose yes to all, then a setting is saved and auto-creation is turned on, which means every added node that is supported by SH is automatically added. The users who use subject hierarchy often, should choose this option.

Related to #3911

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23817 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added logging functions for Python

Added info and error logging macros for Python modules.

Usage examples:

```
import slicer.log

slicer.log.info("This is an info message, logged as an INFO type message")
slicer.log.info("This is an info message, logged and also displayed in a popup for a short time", True)
slicer.log.info("This is an info message, logged and also displayed in a popup for 5 seconds", True, 5000)
slicer.log.info("This is an info message, logged and also displayed in a popup, the user has to click OK to continue", True, 0)

slicer.log.error("This is an error message, logged as an ERROR type message")
slicer.log.error("This is an error message, logged and also displayed in a popup, the user has to click OK to continue", True, 0)
```

From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23818 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update scripted module base class to leverage "slicer.log" functionality

From: Andras Lasso <lasso@cs.queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23819 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Improve scripted module templates

* Use "slicer.log" functionality

* Also update the scripted loadable module template to perform actual
image processing (thresholding, using a CLI) and not just
capture a screenshot, because this is much closer to what
most users would do.

From: Andras Lasso <lasso@cs.queensu.ca>

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