added ringbuffer_peek

You can save a lock by looking to see if you have sufficient
space available for a write.
test_ringbuffer: silenced the noise

have to roll some log functions to regenerate and send the noise
to std err (or preferably some other set of file descriptors
from the control struct)
happy to use up 200 percent of cpu

uses up 200% of cpu and completes without error in
about a minute. It also uses up 4GB of memory with
how I did the test...