commit: support commit.verbose and --no-verbose

This patch allows people to set commit.verbose to implicitly send
--verbose to git-commit. It also introduces --no-verbose to override the
configuration setting.

It introduces several cleanup patches to t/t7505-commit-verbose.sh to
bring it closer to the current state of the tests as they have been
explained them to me, then adds the verbose config and --no-verbose
flag.

Since the last version of this patch
(http://marc.info/?l=git&m=140113063517118&w=2), I've made the following
changes:

* Remove the $PWD => $(pwd) change, as it was a misunderstanding of
  t/README (Thank you to Johannes and David for pointing that out and
  clarifying)
* Use consistent test naming (Thanks to Jeremiah)
* Switch from <<-EOF to <<-'EOF' without manual escaping in write_script
  calls for the test editors check-for-diff and check-for-no-diff. The
  proposed <<-\EOF syntax did not properly prevent the parameter
  substitution on my machine, as both Eric and the documentation
  suggested it should, but the quoted version seems to work fine.
  (Thanks to Eric)
* Fix extra test_set_editor invocations and broken %%-chains created as
  a result of the test_set_editor changes. (Thanks again to Eric)
There is an inconsistency between `check-for-diff`, which uses `'EOF'`, and `check-for-no-diff`, which uses a normal `EOF` but then escapes the `$`.