Default CMAKE_BUILD_TYPE to 'Release' if not set

Suggested-by: Kent Williams <norman-k-williams@uiowa.edu>
Set 3rd party package CMake variables only if needed.

Suggested-by: Kent Williams <norman-k-williams@uiowa.edu>
Add generation of DCMTKConfig.cmake

For both install and build tree, the files:

  DCMTKConfig.cmake
  DCMTKConfigVersion.cmake
  DCMTKTargets.cmake

will be configured into:

   <prefix>/share/dcmtk

It means the following option have to be passed when build a project
depending on python:

   -DDCMTK_DIR:PATH=/path/to/<prefix>/lib/cmake/dcmtk

Since CMake 2.6,  a new signature for find_package is supported:
   find_package(<package_name> NO_MODULE)

NO_MODULE tells CMake to skip loading the Find<package>.cmake to locate a
package and use it. With the current implemtantion of DCMTKConfig.cmake,
CMake will be able to depends on DCMTK without relying on FindDCMTK.cmake.

Since CMake 2.8.8, there is convenient module named "CMakePackageConfigHelpers"
that provided the helper macros "configure_package_config_file" and
"write_basic_package_version_file" allowing to easily configure
relocatable packages.
See http://www.cmake.org/cmake/help/v2.8.8/cmake.html#module:CMakePackageConfigHelpers

To avoid upgrading the minimum requirement version of CMake, the
generation of 'DCMTKConfig.cmake' is done only if possible. To display
message with the macro are not available, a convenient
macro named "check_cmake_command_exists" has also been added.

To allow find_package to work with both a build and install tree, the macro
"configure_package_config_file" is called twice with different value for
the variables:

  DCMTK_CMKDIR_CONFIG
  DCMTK_config_INCLUDE_DIR_CONFIG
  DCMTK_<module>_INCLUDE_DIR_CONFIG

Then, within DCMTKConfig.cmake, the following variables are set:
  DCMTK_MODULES
  DCMTK_LIBRARIES
  DCMTK_TARGETS
  DCMTK_INCLUDE_DIRS
  DCMTK_INCLUDE_DIR # Deprecated

Finally, the DCMTKConfigVersion file is automatically generated with the
help of "write_basic_package_version_file" and is identical for both the
build and the install tree.

Remarks about "export(PACKAGE ...)" [1] statement:

It turns out that exporting the build tree in the system package registry
is a bad idea when building the same package multiple time as it is done
on a dashboard client or a developer workstation trying out multiple
configurations. Indeed, when "find_package" is used in "CONFIG"
(or "NO_MODULE") mode, by default CMake will search into the CMAKE_SYSTEM_PACKAGE_REGISTRY
and will resolve to an already generated build tree instead of the one
passed using <PROJECT_NAME>_DIR.

[1] http://www.cmake.org/cmake/help/v2.8.10/cmake.html#command:export