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 CMake code to generate comprehensive DCMTKConfig files

Since CMake 2.6 (and in particular since 2.8) CMake supports a new signature for
find_package: find_package(<package_name> NO_MODULE)

NO_MODULE tells CMake to skip loading the Find<package>.cmake to locate a
package and use it. The big advantage for implementing this in a package like
DCMTK is that once it is properly implemented, a third-party library (like
DCMTK) can be used by other CMake projects without needing a Find<package>.cmake
file in the CMake installation.

This work in DCMTK is based on this tutorial:
http://www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file

along with assistance from Brad King (brad.king@kitware.com)
Add generation of DCMTKConfig.cmake

***** NOTE: THIS COMMIT SHOULD BE SQUASHED WITH THE PREVIOUS ONE *****
*****       It hasn't been squashed to illustrate the change I   *****
*****       did while working / reviewing the topic.             *****

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.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.