Use the first parent on git describe when available.

This is necessary since we now merge forward and git describe thinks the
HEAD with the less commits is the HEAD to use.

A little more information about this behaviour can be found here:

  http://www.xerxesb.com/2010/git-describe-and-the-tale-of-the-wrong-commits/
Don't hard code `/dev/null`
Use a 2nd call to revert to the old command.

This is more generic and should work on any platform.
Update test case to also use `--first-parent`
Merge pull request #15564 from s0undt3ch/hotfix/git-describe-first-parent

Use the first parent on git describe when available.