COMP: Move most of find_package calls into each Slicer sub-project.

To help address issue #3741 [1], call to find_package associated to CTK,
DCMTK, ITK and SlicerExecutionModel have been moved in every Slicer
sub project, library or module expecting it.

This allows to reduce both the number of include directories and
the number of libraries passed to the compiler.

Moving forward, every Slicer sub project, library or module will be
responsible to call find_package (optionally specifying a list of
components) and (if it applies) include the associated "use file".

Note that call to find_package(VTK) is still done at the top-level, before
moving the call to the expected sub-directories, the CTKConfig.cmake
will have to be updated to call find_package(VTK) specifying the required
components where it is needed.

[1] http://na-mic.org/Mantis/view.php?id=3741

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23413 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Restore original behavior of vtkMRMLNode reference functions

This commit continues what has been started in r23395, it basically reverts
the logic handling reference to the implementation existing prior to r23192.

It reverts all the changes (r23192, r23196) that were done to be
able to set/get a reference at a position N. But it keeps:
 * the readability improvements to complete successfully. (r23193)
 * the transition to smart pointer simplifying the code (r23191)
 * changes done as part of r23192 and this commit fixing the
 following tests:
      - py_AtlasTests
      - py_CompareVolumes
      - py_SlicerMRBTest
      - py_RSNAVisTutorial
      - py_VolumeRenderingSceneClose
      - py_Slicer4Minute


It fixes "py_SubjectHierarchyGenericSelfTest" crash that is reported in
issue #3754 and was "related to MRML references. There are still one more
problem that is most likely related to the way SubjectHierarchySceneModel
deals with QModelIndex. See [1]

[1] https://www.assembla.com/spaces/slicerrt/tickets/598#/activity/ticket:

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23414 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Associate error message with MRML node attribute Get/Set/Remove func.

This commit removes the last assert from vtkMRMLNode implementation.

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