Tweak git scm to keep the workspace between build

By default, the git plugin delete the whole workspace and reclone it
which might be rather long.  Instead use 'git clean' to remove previous
files, that saves a clone operation.

Also fetch submodules and prune remote obsoletes branches.

Change-Id: I9395c2ad839c01f622fb5d5deca063e7435b3359