Add "back_time" as requested in LS-609

The parameter is called "min_noise" and the old "length" param has been renamed
into "max_blank".

Also did a significant cleanup, unifying the coding style and getting rid of
on_noise which lead to spaghetti code. Documented a few tricky aspects and
left some (not critical, but important) TODO for the future.

--HG--
branch : LS-609