IOBuffer: Propagate read errors in input_from().

input_from() now returns -1 on read error.

Also minor optimization to avoid extra read(2) call when
reading a multiple of 4096 bytes.
_Image_WebP now compiles.
Stdio.File: Fixed race condition in nonblocking connect().

Potential fix for [bug 7293].
Build: Added macro PIKE_UNUSED to avoid name-clash.
Java: Fixed compilation issues with JNIs not having UNUSED().

Many (most?) <jni.h> header files don't define UNUSED(), so the
macro doesn't always exist as we've undefined it before including
<jni.h>. Use the new PIKE_UNUSED() macro instead.
Now even workier.
Don't fail twice.
Stdio.IOBuffer -> Stdio.Buffer (part 1)
Stdio.IOBuffer -> Stdio.Buffer (part 2)
Don't leak at exit.
Destruct the mutex after we stopped using it.
Fix warnings
Added "this" to the list of predefined strings
static X -> protected X in autodocs
Avoid getting the precompile output twice in the same file

Sometimes pike crashes when exiting (mainly with cleanup on exit
enabled). If so, it might be that the precompiler already genereated
output.

When the next pike is then tried we get the precompile output multiple
times in the generated file
Added note about this:: to CHANGES
Change from 10 to 0.5 second timeout in OOB testing.

If we have not received the data we are sending to ourselves in .5 seconds
it is higly unlikely we will get it any time in the next 9.5 seconds.
Unified the automatic bash selection

We already did select bash in the toplevel makefile to run configure
if desired, we now set the CONFIG_SHELL variable there as well.

This makes the test in configure.in 100% instead of 99.9% redundant.
Fix typos.