Fixes dev random (newrandom)

Moves unnecessary globals, and attempts to add pseudo-randomness.

The old bits was getting passed down the pipe, instead of new, and I
also added in some TSC 'noise'.  Finally, the read-side was losing some
info with that xor with p.  p tended to be things like
0x000000000060b620, 0x000000000060b621, 0x000000000060b622, etc.  And it
was a user-controlled pointer.

And I gave newrandom.c a good-old lindent.