Removed dead feature PIKE_RUN_UNLOCKED

This feature has not worked since at least y2k
(5b15bb756813728027b8f9d6077ac0a3a1faaf0b)

In fact, it never did work very well even befor that, and has always
much slower than not running unlocked. Especially on multi-cpu
systems.
Removed code that has been #if 0 for quite some time

It mainly confuses things when you are searching for code.

I also removed a few instances of 'well, this would be nice, but is
not possible' and 'this code is obviously broken because X' etc.

We do, after all, have a revision control system. With history. :)
Removed the support for mmx.h

This was a header file that existed back in ye good old time, allowing
usage of MMX without much in the way of compiler support.

However, it is not really available anywhere any more, and almost all
code that used it was disabled.

If we do feel the need for MMX (or rather SSE3+, really, MMX is rather
old-school these days) we should use compiler intrinsics.
Docs fix for `==() to correct the explanation of float==float comparisons
SSL.Connection: Unified several state variables into one.

SSL.Connection()->{closing,dying,handshake_finished} are now unified
into SSL.Connection()->state with named states.

It also keeps track of some of the stuff in SSL.sslfile()->close_state and
SSL.sslfile()->close_packet_send_state, which are likely to be removed soon.
sprintf: reduce inlining of slow paths

The code handling snurkels and object _sprintf calls was inlined
into each format handling case. This patch reduces the code size to
about 25% of the original.
sprintf: optimization

keep the current format_info in a local variable, instead of accessing
it through the format stack. This saves a few loads and makes the code
more readable.
sscanf: implement %-F support

The documentation of sscanf mentions the - flag for little byte
order scanning. This was not implemented, yet. %-F always used big
endian byte order.
Standards.BSON: use %-8F format
decode_value: remove support for old style encoding of programs

Old style encoding was not used since about 10 years. Removing it
saves about 12 kB in decode_value2 with -Os.
Stdio: use -Os for file.c with gcc

gcc -O3 generates extremely bloated code for functions in file.c, even
though it makes no sense to unroll the loop around open(2).
push_text: bad return type