Pass --no-pager when invoking git log

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Use os.devnull in place of '/dev/null'.

Although the old code had a fallback that should have worked under
Windows, this approach is cheaper and less error-prone.
call_silently(): Pipe stderr to /dev/null.

It was never used anyway.
Fixed reference to unbound variable.
Merge branch 'devnull'

Fix some uses of /dev/null.
Merge branch 'blitz/typo'

* Fix reference to unbound variable.
Output a better error if "git merge-base" fails.
Set an environment variable GIT_IMERGE while git-imerge is running.

Subprocesses (especially git hook scripts) can alter their behavior
based on this value.
TODO.rst: Add some more entries.