vcs: don't fail when git remote set-head fails
vcs: don't fail when git remote set-head fails

There's valid use-cases for setups where set-head --auto fails. This
happens when building an app from a gitlab CI checkout where no remote
tracking branches are setup.

This isn't really a fatal error. When a remote HEAD exists we'll
continue setting it and if none exists and something requires this being
set up later on (either a build script or fdroid checkupdates) then
we'll fail later on with "origin/HEAD not being known to git".
By not failing early we allow the majority of use-cases that don't need
a remote HEAD to continue with just a warning.

The setup in which this can be reproduced is as follows:
(This is roughly what gitlab runner does when setting up a git checkout
for CI)
- mkdir test && cd test
- git init
- git remote add https://gitlab.com/Bubu/fdroidclassic.git
- git fetch --all
- git checkout db0d2a9a5d1d89101a344169013ac5d518185f31
- mkdir nested_repo && cd nested_repo
- git clone .. .
- git remote set-head origin --auto
  > error: Cannot determine remote HEAD

f-droid/fdroid-server,fdroidtravis/fdroidserver,f-droid/fdroidserver,f-droid/fdroidserver,fdroidtravis/fdroidserver,f-droid/fdroidserver,f-droid/fdroidserver,f-droid/fdroid-server,fdroidtravis/fdroidserver,fdroidtravis/fdroidserver,f-droid/fdroidserver,f-droid/fdroid-server,f-droid/fdroid-server,f-droid/fdroid-server