Random device now works for atomic pipes

The testrandom now prints the last four u32ints read. This
does not change the timing result.

There's an issue the random device points out. The original
does a ^ operation with the data from 1024 generations ago
to produce the new data. Probably the right way to handle this
is not in the atomic pipes but by extending code that uses the pipes.
I.e., if your use of atomic pipes is not strictly FIFO, then you're going
to have to do the odd bits yourself. In the case of random the result
would be no more complex than what was there before.

Statistics:
  87  227 1629 kern/drivers/dev/newrandom.c
 166  382 2969 kern/drivers/dev/random.c

A significant reduction in complexity, a significant improvement in
readability. The numbers generated suck as random numbers so
that needs to be fixed.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>