make source-dist + git version info separation

This is a rebase and combination of https://github.com/JuliaLang/julia/pull/5266 and https://github.com/JuliaLang/julia/pull/5095

I am not sure if @staticfloat has already based some of his nightly release effort on the previous work, so do not merge before he  says this is still needed.

Unfortunately this might be a breaking change for code that depends on the `Base.BUILD_INFO` struct, because it has been renamed to `Base.GIT_VERSION_INFO`. `Base.BUILD_INFO.version_string` and `Base.BUILD_INFO.TAGGED_RELEASE_BANNER` has been put into a constant `Base.VERSION_STRING` and `Base.TAGGED_RELEASE_BANNER`.

I do not know how we might add a deprecation for these properties, but it would be possible to make a alias, so that packages who cares about compatibility can postpone their update until most users have this change.