Make sure multiple targets don't get rebuilt unnecessarily when LLVM_APPEND_VC_REV = OFF.
In https://reviews.llvm.org/D34560, the default value for LLVM_APPEND_VC_REV was changed from OFF to ON, and subsequently used to control how VCSRevision.h was created.
While this is a good idea in general, it exposed an existing problem where VCRevision.h was always rewritten if the version control file is not found.
Currently, if LLVM_APPEND_VC_REV = OFF, an empty VCSRevision.h will always get rewritten every time cmake is (re)run,
which causes multiple dependencies to get rebuilt unnecessarily. Please see https://bugs.llvm.org/show_bug.cgi?id=33717 for more info.
This change unifies how VCRevision.h is maintained, and only creates an empty VCRevision.h once if LLVM_APPEND_VC_REV = OFF, minimizing the need to rebuild dependencies.