Hysteresis and shorter chunks.

Implement hysteresis for silence detection: While we still immediately
switch to an audible segment when we see an audible chunk, we wait to
see HYSTERESIS_CHUNKS of silent data before we end an audible chunk.

This is independent of the pre-roll and post-roll lengths, which now
both come from one single chunk buffer, filled with silent chunks,
which is portioned between the previous and new segments as needed to
meed the PRE_ROLL_CHUNKS and POST_ROLL_CHUNKS settings.

Switch chunk length specification from seconds to milliseconds. We've
also got new timing global variables for configuration: PRE_ROLL_MS,
POST_ROLL_MS, and HYSTERESIS_MS. These values are dividied by CHUNK_MS
to compute the *_CHUNKS variables discussed above. As such, they should
be multiples of CHUNK_MS.

Also, fix a bug where the buffer/pre_roll_buffer would be discarded
once the end of file was hit. Since we were raising EOFError rather
propagating the normal StopITeration(), we weren't hitting any post-
for-loop cleanup code – not that there was any. Add said code and
switch to StopIteration to fix.
Match timings to old, pre-hysteresis behavior

Set chunk/hysteresis/pre-/post- timings so the behavior matches
the original. Passes original tests.
WIP delta silence detect with IQR
WIP add stats tracking for input level deltas
WIP tune input level limits.
Comment out noisiest debug logs.