xz: Force single-threaded mode when --flush-timeout is used.
xzgrep: exit 0 when at least one file matches.

Mimic the original grep behavior and return exit_success when
at least one xz compressed file matches given pattern.

Original bugreport:
https://bugzilla.redhat.com/show_bug.cgi?id=1108085

Thanks to Pavel Raiskup for the patch.
xzgrep: Add a test for the previous fix.

This is a simplified version of Pavel Raiskup's
original patch.
xzgrep: Improve the test script.

Now it should be close to the functionality of the original
version by Pavel Raiskup.
xzgrep: List xzgrep_expected_output in tests/Makefile.am.
xz: Check for filter chain compatibility for --flush-timeout.

This avoids LZMA_PROG_ERROR from lzma_code() with filter chains
that don't support LZMA_SYNC_FLUSH.
liblzma: Add lzma_cputhreads().
xz: Use lzma_cputhreads() instead of own copy of tuklib_cpucores().
xz: Update the help message of a few options.

Updated: --threads, --block-size, and --block-list
Added: --flush-timeout
Translations: Add Vietnamese translation.

Thanks to Trần Ngọc Quân.
Update THANKS.
liblzma: Add lzma_memcmplen() for fast memory comparison.

This commit just adds the function. Its uses will be in
separate commits.

This hasn't been tested much yet and it's perhaps a bit early
to commit it but if there are bugs they should get found quite
quickly.

Thanks to Jun I Jin from Intel for help and for pointing out
that string comparison needs to be optimized in liblzma.
liblzma: Use lzma_memcmplen() in the match finders.

This doesn't change the match finder output.
Update THANKS.
liblzma: Use lzma_memcmplen() in fast mode of LZMA.
liblzma: Simplify LZMA fast mode code by using memcmp().
liblzma: Use lzma_memcmplen() in normal mode of LZMA.

Two locations were not changed yet because the simplest change
assumes that the initial "len" may be greater than "limit".