Implement tag and revision options for git modules.
This makes the 'tag' option allow for checking out a given git tag for a module (which is enforced by using refs/tags/$foo when passing to git). Additionally, the 'revision' option has been adopted for git modules as well, to allow for checking out any other git "tree-ish" that git supports (i.e. anything supported by 'git checkout $foo'). Both options should leave the source directory in a detached HEAD state, although kdesrc-build will adapt as necessary with each source update. The auto-stashing is still attempted for both types, and a failure to apply an auto-stashed change will cause the module to fail to build. Ensure you're in a clean working directory if you want to avoid issues due to this. The test suite continues to pass (not that it's very extensive). BUG:308493 FIXED-IN:1.16