tests: fix negated test_i18ngrep calls

The helper function test_i18ngrep pretends that it found the expected
results when it is running under GETTEXT_POISON. For this reason, it must
not be used negated like so

   ! test_i18ngrep foo bar

because the test case would fail under GETTEXT_POISON. The function offers
a special syntax to test that a pattern is *not* found:

   test_i18ngrep ! foo bar

Convert incorrect uses to this syntax.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Git 2.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff: compare hashes to determine identical binary files

This is how builtin_diffstat does it, but I have a feeling
that it is buggy, and we need to be checking sha1_valid.
diff: only load binary files if we are going to diff them
diff_populate_filespec: convert size_only arg to bitfield

This will let us easily add more flags without disrupting
the existing callers. The DIFF_POPULATE_SIZE_ONLY flag
becomes flag "1", so any existing callers (e.g., in topics
in flight) that are not converted to use the macro will
still work.
diff_populate_filespec: add a PEEK option

This lets callers peek only at the first few kilobytes of
the buffer, which we can then sometimes use to avoid loading
large blobs.
enable diff-PEEKing

This works, but is way less fast than I would have hoped. It
turns my 16s "log -p" into 13s. Actually using gitattributes
turns it into 0.1s. Also, you have to tweak
core.bigfilethreshold to make it work, which is probably bad
(we would want to have different thresholds for reading and
writing).