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

Fixes GH-145

Sample program:

```python
# test_git_push_hang.py
import git

repo = git.Repo('.')
remote = git.Remote(repo, 'origin')

remote.push(tags=True)
```

Without this change:

```
$ python test_git_push_hang.py
Pushing tags to remote...
(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.