Fix `git push` hanging when stdout/stderr is big

Fixes GH-145

Without this change:

```
$ cat test_git_push_hang.py
import git

repo = git.Repo('.')
remote = git.Remote(repo, 'origin')

remote.push(tags=True)

$ python test_git_push_hang.py
(hangs indefinitely)
```

With this change:

```
$ python test_git_push_hang.py
Pushing tags to remote...
Tags pushed: 993
```

Cc: @byron, @sontek, @colinmsaunders, @willwagner, @monkeydiane

This is what seems to be causing our Doula builds to stall when git repos have a lot of tags. Hopefully this fixes that issue.