COMP: Fix python_patched_msvc9compiler.py the "right" way

This commit attempts to fix the "query_vcvarsall" method and discard
the "dumb" approach implemented in r22889.

On system having both Visual Studio 2008 and 2010 professional version,
the compilation was working because the compilation of NUMPY
within VS2008 was done against the SDK version 7.0 provided by VS2010 Pro.

On the other hand, on system having only "VisualStudio 2008 Professional"
and "Visual Studio 2010 express + SDK 7.1" installed, this turn out
to be an issue because the SDK associated with VS2008 (6.0A) couldn't be
found.

This commit generalize the mapping from Visual Studio version to Windows
SDK so that more than one version can be checked:

 1) On workstation with [VS2008 Pro (SDK 6.0A), VS2010 Pro (7.0)], the following
configurations have been tested:
     VS2008 - 32-bit => Found SDK 6.0A
     VS2008 - 64-bit => Found SDK 6.0A
     VS2010 - 32-bit => Found SDK 7.1

 2) On workstation with [VS2008 Pro (SDK 6.0A), VS2010 Express + SDK 7.1],
the following configurations have been tested:

    VS2008 - 64-bit => Found SDK 6.0A
    VS2010 - 64-bit => Found SDK 7.1


The following configurations have NOT been tested and may require further
tweaks:

    Only [VS20(08|10|...) Express]
    Only [VS20(08|10|...) Pro] installed
    Only [Windows SDK X.Y] installed
    Combination of VS Express, VS Pro and Windows SDK

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23040 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Use a safe temporary path for download

Change extension downloading to use a temporary file for the download
location. This ensures that a: we don't clutter the temporary directory
with old downloads, b: multiple users can download the same extension
using a shared temporary directory (e.g. most UNIX-like systems), and c:
the file name is not predictable, which is a security vulnerability.

Issue #3552

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23041 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Install QWebView designer plugin to fix loading of UI file

By installing the designer plugin, we ensure that UI file having a
QWebView can successfully be loaded at runtime.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23042 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix install rule incorrectly set in r23042

Optional matching pattern are now specified after a semicolon.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23043 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix popups always on top

Closes #1792, #1824, #1763, #2077, #2309, #2474

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23044 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3640. Added vtkMRMLFiberBundleDisplayNode::ProcessMRMLEvents () method to process modify events from vtkMRMLDiffusionTensorDisplayPropertiesNode referenced node

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23045 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Separator appears in MRML node combobox menu with custom items only

The MRML node combobox can have extra items on the top or bottom of the node list. There are built-in extra items, such as None, Add, etc. When these are enabled, then a separator appears between the nodes and the items. However, when no built-in extra item is enabled, just custom extra items are added, then the separator did not show up.

From: Csaba Pinter <csaba.pinter@queensu.ca>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23046 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Don't synchronize the number of decimals in CLI slider widgets

Remove ctkSliderWidget::SynchronizeDecimals default behavior.
Closes #3642

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23047 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Simplify installation rules associated with DCMTK applications

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23048 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Generalized DCMTK application install rules to multi config systems.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23049 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Rename python launcher "customPython" into "SlicerPython"

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23050 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Install python interpreter

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23051 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Do not install SimpleITK headers. See #2397

See https://issues.itk.org/jira/browse/SIMPLEITK-517

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23052 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Update VTK project to fix compiler error on clang c++11

$ git shortlog bbf9377..b4d85da --no-merges
David Gobbi (1):
      BUG: Fix incorrect code detected by static analysis.

Hans Johnson (1):
      COMP: Fix compiler error on clang c++11

Sean McBride (1):
      Removed -fobjc-gc from VTK_REQUIRED_OBJCXX_FLAGS

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23053 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix Windows build error introduced by r23051

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23054 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Associate component with python launcher and modules install rules

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23055 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Associate component with Qt plugin install rules

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23056 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Rename installed python executable to account for case-insistive system

Considering that the MacOSX build server uses Apple HFS file system that
is case insensitive for operation [1], the installed python
executable is copied in

  Slicer.app/Contents/bin/Python/

instead of

  Slicer.app/Contents/bin/

This commit rename the installed executable into "python-real" to account
for this.

For sake of consistency, the renaming is also applied for all platforms.

[1] http://en.wikipedia.org/wiki/Hierarchical_File_System#Limitations

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23057 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Associate a component with install rules

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23058 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add GitPython and PyGithub external projects

Add external projects for GitPython, PyGithub, and their dependencies
(python-setuptools, python-gitdb, python-async, python-smmap). These are
required for full functionality of the SlicerWizard package.

These are only built if Python and extension manager support are both
enabled, and system Python is not used. Additionally, PyGithub is only
requested if Python SSL support is enabled.

Note that Python must be built with SSL support for PyGithub to be
usable.

Issue #3269

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>

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