Docs: Explain the stable releases better in README.
Tests: Fix a compiler warning with _FORTIFY_SOURCE.

Reported here:
http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385
Build: Upgrade m4/acx_pthread.m4 to the latest version.

It was renamed to ax_pthread.m4 in Autoconf Archive.
Fix compiling with IBM XL C on AIX.
Update THANKS.
Fix exit status of xzgrep when grepping binary files.

When grepping binary files, grep may exit before it has
read all the input. In this case, gzip -q returns 2 (eating
SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status
(e.g. 141). This causes wrong exit status when grepping
xz- or bzip2-compressed binary files.

The fix checks for the special exit status that indicates SIGPIPE.
It uses kill -l which should be supported everywhere since it
is in both SUSv2 (1997) and POSIX.1-2008.

Thanks to James Buren for the bug report.
Update THANKS.
Docs: Update MINIX 3 information in INSTALL.
DOS: Link against DJGPP's libemu to support FPU emulation.

This way xz should work on 386SX and 486SX. Floating point
only is needed for verbose output in xz.
liblzma: Remove outdated comments.
Windows: Update notes about static linking with MSVC.
Fix a few typos and add some missing articles in some documents.

Also hyphenate several compound adjectives.

Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
Docs: Cleanup line wrapping a bit.
Update THANKS.
xz: Fix output of verbose --robot --list modes.

It printed the filename in "filename (x/y)" format
which it obviously shouldn't do in robot mode.
xz: Document the "summary" lines of --robot -lvv.

This documents only the columns that are in v5.0.
The new columns added in the master branch aren't
necessarily stable yet.
xz: Don't show a huge number in -vv when memory limit is disabled.
Update THANKS.
liblzma: Fix possibility of incorrect LZMA_BUF_ERROR.

lzma_code() could incorrectly return LZMA_BUF_ERROR if
all of the following was true:

  - The caller knows how many bytes of output to expect
    and only provides that much output space.

  - When the last output bytes are decoded, the
    caller-provided input buffer ends right before
    the LZMA2 end of payload marker. So LZMA2 won't
    provide more output anymore, but it won't know it
    yet and thus won't return LZMA_STREAM_END yet.

  - A BCJ filter is in use and it hasn't left any
    unfiltered bytes in the temp buffer. This can happen
    with any BCJ filter, but in practice it's more likely
    with filters other than the x86 BCJ.

Another situation where the bug can be triggered happens
if the uncompressed size is zero bytes and no output space
is provided. In this case the decompression can fail even
if the whole input file is given to lzma_code().

A similar bug was fixed in XZ Embedded on 2011-09-19.
Preliminary NEWS for 5.0.4.