Fix: git version build system integration

Fix:
- Don't overwrite version.h if the previous content matches.
- While we are there, if we notice the previous content matches,
  print a (cached) message to show that we do not overwrite the
  content.
- Introduce LTTNG_TOOLS_BUILD_GIT_SOURCE automake conditional rather
  than compile-time define to disable the feature. It ensures we
  do not invoke "git describe" when configure --disable-git-version
  has been requested.
- Use git describe rather than git describe --long --all. Based
  on the last tag, and adds the first numbers of git revision.
  Last tag is useful both to the developer and in a bug report,
  whereas the branch name returned by --long --all is meaningless
  in a bug report.
- We want to ship version.h.tmpl in the tarball (make dist), not
  version.h which is generated. Someone could very well do a
  git init on the extracted tarball and want to have git tracking
  support.
- Fix the git prefix " - " that is incorrectly printed in some
  situations, e.g. when GIT_SOURCE was active, but we are in
  a non-git tree (or git is not available).
- Fix incorrect handling of out of tree build. Invoke git describe from
  top_srcdir.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>