git-review: simplify sync

The old sync was needlessly complex. It separated fetch and rebase,
and it had a special case to do a fast-forward merge if possible.
Git pull -r will do all that in one step, and using one command
instead of three simplifies the 'git sync -v' output for people who
want to know what git sync really does.

This also matches the documentation we published in Go 1.4
at golang.org/doc/contribute.html.

Change-Id: Ic367d0300c30120a900c6b4d66546d2e0a8fb6ce
Reviewed-on: https://go-review.googlesource.com/1426
Reviewed-by: Andrew Gerrand <adg@golang.org>
git-review: add change -q quick mode, to not edit existing commit message

If -q is given and there's an existing commit, git-review skips the editor session.
If you've made a tiny change, then all you have to do is:

	git add foo.go
	git change -q

to update the commit.

Change-Id: I38b1f71a27d0953648eeff56a4024abc24f46fe2
Reviewed-on: https://go-review.googlesource.com/1443
Reviewed-by: Andrew Gerrand <adg@golang.org>
git-review: allow mail with multiple -r and -cc flags

They accumulate, like they do in other standard git commands.

Fixes golang/go#9241.

Change-Id: I48e72ff1561cd34c194ebf6dfbc5176a33f4a2d6
Reviewed-on: https://go-review.googlesource.com/1442
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
git-review: hide read-only git commands from -v; show them with -v -v

Right now all the "gather information about what's going on" git commands
show up with the -v flag. If you are using the -v flag to learn what the
basic review operations do, all those state-gathering commands are noise,
and they make it hard to find the state-modifying commands.
Hide the state-gathering (read-only) commands with -v.
Make -v repeatable and show them with -v -v.

	$ git sync -v
	git fetch -q
	git merge -q --ff-only origin/master

	$ git sync -v -v
	git fetch -q
	git rev-parse --abbrev-ref HEAD
	git rev-parse flags
	git merge-base origin/master flags
	git merge -q --ff-only origin/master

Change-Id: Iea28b4a4302bea614c3f542b491f0b302b378110
Reviewed-on: https://go-review.googlesource.com/1425
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>