ENH: Extract version information from git

The number of commits since the last version changes is now extracted
from the git repository, and added to the version variable as either a
postN for devN suffix. Additionally, the 5 digit SHA1 hash of the git
HEAD is also appended.

As a consequence, a strict protocol needs to be followed when
Version.cmake is changed as well as the formatting and timing of
version tags. Its is expected that tag for a version is made, then the
next commit on the master branch modifies the Version.cmake to
indicate the version development is working towards.

The internal CMake variable to indicate SimpleITK's version have been
renamed to the conventional PROJECT_VERSION_[MAJOR|MINOR...]. Also to
follow standard conventions the SimpleITK_VERSION cmake variable is
defined and the amalgamation of all version information.

TODO: During configuration a CMake file should be generated to store
the extracted git revision information. If there is no git repository
detected then this file should be checked for. When source packaging
happens this file should be included.

Change-Id: I95e5d8876cd58b869cd939fab28d66708fbb9986
Simplifying and updating sitk::Version object

Updating to use conventional CMake version variables.

Removed too fine grained git revision information.

Created separate sitkVersionConfig.h file.

Change-Id: I229846e32525f52579f36d3f73a5c1fbff4d3980
Updating wrapped language infrastructure for version variables

Include git hash in python version if not official build.

Change-Id: I5946876cabd8b87cead0456061f134ca0f80806f
Save and read _GIT_VERSION variables for when there is no git dir

Change-Id: Ibed346ca4f48236c47cef11bcd640abf89fa1c06
Adding Script to generate source tarball from ITK.

Change-Id: Idb33f5903b0dc19a3dc1ff0518bbc1981697e275
Add SimpleITK src version and module files to archive script

This implementation requires not only that the targeted commit be
checked out and the submodules initialized and the but also a CMake
configuration made.

Change-Id: Ia80042c010f6a0be95e3b69c136dbdc541bcf162
Merge topic 'SIMPLEITK-327_AddGitBasedVersionInformation' into next

97fd8dc Add SimpleITK src version and module files to archive script
498d4fe Adding Script to generate source tarball from ITK.
e557fb6 Save and read _GIT_VERSION variables for when there is no git dir
6a66f7e Updating wrapped language infrastructure for version variables
9a48380 Simplifying and updating sitk::Version object
2b07ee2 ENH: Extract version information from git