multimail: simplify GitObject by replacing .commit

The commit attribute of a GitObject object serves the sole purpose of
conveying the SHA-1 of the underlying commit if the object is a tag.
Replace it with a commit_sha1 member to reduce the overhead.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Merge branch 'simplify-gitobject'

Replace member GitObject.commit with lighter-weight
GitObject.commit_sha1.
test-emails: Set USER to make the results more repeatable.

The tests use GenericEnvironment, which uses $USER to determine the
pusher.  So set USER in the environment before running the
email-generation commands to make the results independent of the user
who happens to be running the tests.

Suggested by: Ramkumar Ramachandra <artagnon@gmail.com>
t/create-test-repo: squelch noise

Suppress output from init and fast-import so that it's easier to compare
expected output with actual output.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
multimail: strip extra space in FOOTER_TEMPLATE

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
t/smudge-compare: add a script to smudge and compare

Prepare a multimail.expect to show what the actual output from
test-emails should look like after smudging the headers.  Introduce a
quick-and-dirty shell script called smudge-compare that compares the
actual output (after smudging) to multimail.expect.

Usage:

  $ ./test-emails >/tmp/multimail.actual 2>&1
  $ ./smudge-compare /tmp/multimail.actual

It will print "Pass" if the changes are fine.

While at it, remove the earlier t/filter-noise, and update t/README with
new instructions.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>