Make the `testrepo.git` repo a real bare repo (again?).

Steps :
```
git clone --bare testrepo.git testrepo-bare.git
git --git-dir=testrepo-bare.git remote remove origin
rm -R testrepo.git
mv testrepo-bare.git testrepo.git
```
Update the tests that now fail because their repo is now bare.
`git_push_unpack_ok` returns 0/1, not an error.
Make the network tests use the bare repo.
Don't cause an assert if the branch is a local branch.
Make push work with local bare repositories.