disable compiler reliance on x86 coprocessors for lib, kernel, mbiloader

Found while experimenting with clang, and then with gcc -O3.
lib: add puts, fputs, putchar, fputc, fwrite to fake_stdio.c

Also the header. These are emitted by clang for simple printf()s because they
are supposedly quicker. That's not entirely false, however, fwrite() as
written is stupendously inefficient. (which doesn't matter because the serial
port's throughput is positively glacial in comparison in any case.)
lib: minor fixes to string.c

Notably, if string.c is compiled with -O3 in GCC 4.8.2, memset() ends up with
a call to itself. That's right: perpetual recursion because the optimizer
doesn't realize that this breaks everything. GCC 4.7 doesn't do that, so the
more recent compiler must be at fault. (not that -O3 does a lot compared to
-O2 anyway.)
testbench: compile userspace with -mstackrealign

This permits SSE optimizations under -O3 despite being strictly suboptimal:
the runtime should really fix its shit wrt stack alignment, because AFAIK none
of this is required in GNU/Linux.