Previously, the 'git checkout' invocation would remove sub-modules that
had been initialized by 'git clone --recursive'.
* guix/build/git.scm (git-fetch): Never use "git clone --recursive".
Invoke "git submodule update --init --recursive" after "git checkout".
Remove '.git' directories as the last step.
* guix/git-download.scm (<git-reference>)[recursive?]: New field.
(git-fetch): Add 'inputs' variable. Add it to the #:inputs argument
of 'build-expression->derivation'. Augment builder with call to
'set-path-environment-variable', and pass #:recursive? to
'git-fetch'.
* guix/build/git.scm (git-fetch): Add #:recursive? parameter. Pass
--recursive when RECURSIVE? is true, and delete all the '.git' files.