Regenerate components/version/version.hpp as HEAD moves on a git checkout

Pull request #416 introduced a common bug where version.hpp wouldn't be
regenerated every build, poteantially leading to stale version data. This
commit adds a custom build target, git-version, which updates version.hpp
before the components library is built.