Rewrite the Jack process callback to keep track of sample counts rather
than doing gettimeofday calls. This ensures that the output files have
the same number of samples, with exception of the first file of course.

To accomplish this two new field are added to the rotter_ringbuffer_t
struct. The frame_offset field count samples inserted into the ring
buffer, starting from 0 on each ring buffer switch. The start_offset
field is 0 in all cases except for the first file in which case it
contains the number of samples that we missed in the current period.
This means that when start_offset + frame_offset >= frames per time
period we should switch file.

The initial file name is based on gettimeofday and all others are
based on the previous time + time period with some slight rounding to
get exact second file names.