In order to make it easier for package maintainers that manage LG inside
their own git repository we should use the version file if it exists
over calling git describe.
This means if someone checks out a tagged revision, the extra commit N
and commit hash are removed from the VERSION, leaving just the tag name
Adding any commits will cause -<commitssince>-g<commithash> to return.
The dirty worktree '+' still functions as normal, simply appended to
the end of the tag name, like 'v1.0.3+'. With both extra commits and a
dirty worktree, it will look like 'v1.0.3-2-gd6e00e4f34a+', as usual.
The --dirty argument of git describe performs the same function as the
now-removed git diff logic.
It will add its argument (default '-dirty') to the end of the revision.
Providing '+' as the argument replicates old behavior.