Add bare option to GitAPITestCase init method, use to simplify test_push

The test_push fails on Red Hat Linux 6 because Git 1.7.1 version
behaves differently than more recent versions.  Git 1.7.1 reports "You
are on a branch yet to be born" when attempting to checkout a branch
from a freshly initialized git repository.  Checkout of a new branch
on an empty repository is quite a corner case, and there is little
motivation to fix that, since later git versions do not show the same
problem.

Switching test_push to push to a bare repository seems more likely as
a scenario for push testing anywway, since most writers agree that
pushing to a working repository has several problems.