cleaner error message when option parsing fails

The syntax of the 'update-style' call was not easy to discover otherwise.
Introduce and use read_git_output and read_git_lines

This allows building the git command in only one place of the script,
which makes it easy to add global options or change the name of the
Git executable without going through the whole script (either for users
needing to tweak the script or for future upstream code change).

Formatting tweaked by: Michael Haggerty
Add multimailhook.maxCommitEmails, to avoid accidental mailbombing

With minor tweaks by Michael Haggerty.
Add an idea to the list.
Merge branch 'various-improvements-v2'

* A few internal code improvements.

* Add maxCommitEmails configuration setting.

Conflicts:
	notes.txt