save/restore r10 around 32bit x86-64 syscalls.

This fixes the problem where we segfault as soon as we hit __syscall_return(res)
res was being held in r10, and went out of scope once we hit the syscall,
so we were scribbling through random ptrs ->segv.

We should probably be saving more registers here to be completely safe,
but for now this seems to do the trick.
remove the num_args checking in syscall32.
cleanup syscall32 some more.

remove some unnecessary ifdeffery
remove i386 int80 code.

This is unnecessary. x86-32 uses syscall(), not syscall32().
remove logging usage of previous_a*

This is bogus. The old code compared an unaltered version of the register
to the post-sanitised version.  This 'oldreg' bears no relation to
shm->previous_a* which is the _previous syscall_ that was made.
The latter is a debug thing, not something useful in this way.

We only did this to colorize the output some, so it's simpler just
to remove that whole thing.
add a new rand-page generator

spew an ascii variant of a random number into the buffer