Change read_log_oneline() to iterate over (sha1_short, subject).

Rename read_log_oneline() to generate_summaries() and change it to
iterate over (sha1_short, subject) for each of the commits (rather
than just returning the lines emitted by "git log" directly).

Change the callers, which were sometimes splitting the output of the
function by themselves anyway.
Add and use a method GitObject.get_summary().
Let Git choose SHA1 abbreviation lengths.
Generate brief summary lines via a template.
Preserve tabular format in the face of varying-length SHA1 abbreviations.

Change the templates for brief summaries to pad short references out
to 9 characters, so that even if the SHA1 abbreviation is a couple of
characters longer than the default, the tables will remain aligned.
Use "git log --no-walk" instead of "git log --max-count=1.

The former seems to be present since git 1.5.3, which is old enough
for our purposes.
Merge branch 'shorter-sha1s'

Let git decide how to abbreviate SHA1s (instead of specifying an
explicit minimum abbreviation length of 10).