"Uninitialized" submodules are "unmodified"

Extend the "unmodified" submodule workdir test to include
uninitialized submodules, to prevent reporting submodules as
modified when they're not in the workdir at all.
Merge pull request #2065 from ethomson/submodule_unmodified

"Uninitialized" submodules are "unmodified"
merge_file should use more aggressive levels

The default merge_file level was XDL_MERGE_MINIMAL, which will
produce conflicts where there should not be in the case where
both sides were changed identically.  Change the defaults to be
more aggressive (XDL_MERGE_ZEALOUS) which will more aggressively
compress non-conflicts.  This matches git.git's defaults.

Increase testing around reverting a previously reverted commit to
illustrate this problem.
Don't try to merge binary files
Introduce diff3 mode for checking out conflicts
Load merge.conflictstyle setting from config
Remove the "merge none" flag

The "merge none" (don't automerge) flag was only to aide in
merge trivial tests.  We can easily determine whether merge
trivial resulted in a trivial merge or an automerge by examining
the REUC after automerge has completed.
Support union merges
Merge submodules
Merge pull request #2061 from ethomson/merge_improvements

Merge improvements