Improve our usage of --no-ext-diff with git.

At some point in the past, we added --no-ext-diff to the git command line. This
was intended to make things work when people had set their diff tool to
something that didn't produce a diff, such as graphical tools like 'p4merge'.
Unfortunately, this removes a bunch of functionality with legitimate uses.

This change adds a flag for .reviewboardrc, GIT_USE_EXT_DIFF, which can be set
to True to allow using external diff commands.

Testing done:
Posted some changes with git using --debug. Saw that without the config
setting, it passed --no-ext-diff on the command lin, and with it, it didn't.

Fixes bug 1524.