COMP: Easier maintenance simplifying process to add remote module source

Following this commit, adding a remote module source to Slicer can
simply be done calling:

 Slicer_Remote_Add(Foo
   GIT_REPOSITORY git://github.com/john/foo
   GIT_TAG abcdef
   OPTION_NAME Slicer_BUILD_Foo
   LABELS REMOTE_MODULE
   )

As a side effect, (1) the option "Slicer_BUILD_Foo" will automatically be
added as an advanced option and (2) the CMake variables "Slicer_BUILD_Foo"
and "Foo_SOURCE_DIR" will be passed to Slicer inner build.

Additionally, by associating the "REMOTE_MODULE" label, the corresponding
source directory will be added automatically using a call 'add_directory'
similar to this one:

 add_directory(
   /path/to/Slicer-build/Foo
   /path/to/Slicer-build/Slicer-build/Module/Remote/Foo)

This happen in the Slicer/Modules/Remote/CMakeLists.txt file.

Finally, note that a new module named "ExternalProjectAddSource" has been
added, it is still experimental and should be considered as
internal to Slicer without any promise to keep backward compatibility.

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