Fix git describe when work directory is empty.

The "git describe" feature depends on the source information that is pulled after parsing the yaml file.  When the work directory is either empty or have garbage from previous build.  It fail to pick up the version or pick up a version from the previous build.  This patch fixes it by **parsing the yaml file again after pulling the source.  This is an ugly workaround; we should rethink how the parsing and the auto versioning work**.  

This patch also replaces `None` value in the yaml file (possible with templated yaml) with a empty string.