Move ROOT_GIT_COMMIT and BRANCH into separate header.

This header gets recreated from gitinfo.txt whenever libCore gets rebuilt
which is a fair (and free) compromize between "after every pull" and "never"
The new file RGitCommit.h is only included by TROOT.cxx.
Taken over by RGitCommit.h
Fix in case RGitCommit.h does not yet exist.
Make git commit header private.
Also rebuild the git commit header if TROOT.{cxx,h} change.
Adapted the GitCommit for CMake.
Improve git revision shown by TROOT and make version.