COMP: Update python build system so that 'hash' module is available on windows

$ git shortlog 82e14946..3c5864f --no-merges
Jean-Christophe Fillion-Robin (2):
      Add 'msvc9compiler' patch to support VS10
      Add 'msvc9compiler' patch to support building using VS Express and Windows SDK

Matt McCormick (1):
      Do not avoid hash modules with OpenSSL on Windows.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23064 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Disable 'GitPython' and 'PyGithub' waiting build error are fixed.

This is a temporary solution waiting I finish to generalize the system
used to configure/make/install NUMPY. When done, a similar mechanism
will be used to build python modules requiring a build environment / compiler.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23065 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3561 handle paths for windows

Earlier versions of the tpycl (tcl/python) layer worked on all
platforms, but apparently a change occured (maybe the
cmakeified python?) that led to a different interpretation
of this path and now native windows paths with backslashes
are returned from os.path.  As a result we need to convert the
paths before sending them to tcl, which always uses forward
slashes for standard directory operations on all platforms.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23066 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix error condition in LandmarkRegistration

See commit log for info.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23067 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify NUMPY project by writing CMake script for each steps

This is a first step toward a simplification and generalization of the
system allowing to configure, build and install NUMPY.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23068 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Set NUMPY URL and URL_MD5 consistently

Remove unused intermediate variables

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23069 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Generalize NUMPY/SimpleITK build system

This commit introduces a new CMake module named "ExternalProjectForNonCMakeProject"
providing convenience functions to facilitate the integration of project
based on autoconf, python distutils, ...:

  ExternalProject_Execute
  ExternalProject_Remove_Execute_Logs
  ExternalProject_Write_SetBuildEnv_Commands
  ExternalProject_Write_SetPythonSetupEnv_Commands

Let's also note that since r20539 and r21639 removed the need for a
Fortran compiler to configure/build/install NUMPY, the requirement to set
the environment variable LDFLAGS to an empty string originally
introduced by r20520 has been removed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23070 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Easier maintenance simplifying PCRE, Swig, incrTcl, tcl, tk build system

This is done by using ExternalProjectForNonCMakeProject recently introduced.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23071 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify VTK project build step

This commit remove the custom step first introduced in r15695. Following
the introduction of the Python launcher by commit r19804, this custom step
is not needed anymore.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23072 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify environment setup for python module build steps

Following the introduction of Python launcher by commit r19804,
adding the location of the shared python library in the Env files
is redundant. It is already done by the Python launcher.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23073 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify OpenSSL project using ExternalProjectForNonCMakeProject

Remove unused code used to apply OpenSSL parallel build patch.
As explained in r22224, this was broken.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23074 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update ExternalProject_Execute to implicitly delete related log files

The user of the function doesn't have to explicitly delete the log files
by calling the function 'ExternalProject_Remove_Execute_Logs'. Following
this commit log files created by calling 'ExternalProject_Execute' for a
given project and stepname will automatically be removed if called a
second time.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23075 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix gitdb and async build error explicitly setting build environment

In addition to update the install step of these two projects, this commit
also revert commit r23065 that was disabling the build of PyGithub
and GitPython projects.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23076 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Remove ITKv3 support

As discussed on the mailing list [1] and reported on the Roadmap [2],
this commit removes all conditional code that was allowing Slicer4 to be
compiled against ITKv3.

Code that was building only against ITKv3 has also been removed. This
includes DicomToNrrdConverter CLI module
and SlicerITKv3N4MRIBiasFieldCorrectionImageFilter class.

[1] http://slicer-devel.65872.n3.nabble.com/Removal-of-ITKv3-support-tt4031364.html

[2] http://wiki.slicer.org/slicerWiki/index.php/Roadmap#Deprecation_.2F_API_Changes

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23077 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3121. Added module wiki doc page link

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23078 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Allow loading of bspline transforms with IdentityTransform bulk component

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23079 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 3618. Changed interpolation mode to linear in the vtkMRMLVolumeNode::ApplyNonLinearTransform()

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23080 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: 2346. Made default fiber solid color to white matter. 

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23081 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: move the User and File node types up to superclass
Support for user and file procedural color nodes requires that these
node types be moved into the color node superclass, not just defined
on the color table node.

Issue: 3573



git-svn-id: http://svn.slicer.org/Slicer4/trunk@23082 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Expand scalar range options

Add the ScalarRangeFlag on the display node, test it, use it in the Model
display node.
Provide a GUI interface for it in the Models Scalars GUI.
Use it in the model displayable manager.
Separate out the auto scalar range setting from updating the poly data
in the model display node.

This expands the options from just using the scalar range of the data
to allowing the user to select using the scalar range defined on the
display node, the range on the color node, or the range of the data
type (use this last with caution, TBD: readjusting the minimum and
maximum values allowed on the range slider). Keeps the default
behaviour of AutoScalarRange and Data. The interaction of Auto/Manual
and the range flags might need some tweaking.
Also keeps the deep copy of the color look up table in the model displayable
manager - monitor for performance issues.
Expands the model displayable manager to work with procedural color nodes,
this required copying the color transfer function to a look up table to
support setting the range. Using a table with 256 entries for now.
UI full change due to having to run dos2unix on it to get it commited
to git without whitespace errors.

Issue #3573



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