ENH: External_*.cmake projects

This follows the Slicer conventions and allows project building TubeTK
to know what it depends on more easily.
It also clarifies the code by separating each dependency in its own
file.

Change-Id: Ia75450796ffbd82ebfa8c8833bbf7e862f0a3a7a
ENH: Add option to choose the modules build

Adding option the option TubeTK_BUILD_ALL_MODULES. This option allows the
user not to build any module of TubeTK (only the libraries are built).
Also, if TubeTK_BUILD_ALL_MODULE is OFF, for each module of TubeTK, the
option TubeTK_BUILD_* appears so the user can choose modules one by one.

Change-Id: Ib6bcda957cd6b6b8bffb1d3c2efe713aee6e06bb
ENH: Clean up CLIs and library exporting

This allows projects outside of TubeTK to easily build each of TubeTK's
applications or modules. It also improves linking against TubeTK's libraries.

Change-Id: Ibf5656a5a4ddbfbb980869e30b6bda10e879cc4f
ENH: Move TubeTKConfig.cmake to superbuild directory

Much like CTK, it is easier for other projects building TubeTK to look for
the TubeTKConfig.cmake in the superbuild directory instead of its inner build.
UseTubeTK.cmake and TubeTKTargets.cmake have been moved along as well.
ENH: Delete FindTubeTK.cmake

Find*.cmake should only be written to handle project's specific
configurations issues. Since TubeTK doesn't have any, the regular
find_package should be able to do its job without a FindTubeTK.cmake.