add timeout <seconds> to mod_curl api call
FS-6296 --resolve mod_rayo: fixed crash on <prompt> bad request
Fix handling of send_silence_when_idle==0 in switch_ivr_sleep

When the channel variable send_silence_when_idle was set to zero,
switch_ivr_sleep was calling SWITCH_IVR_VERIFY_SILENCE_DIVISOR on it
anyway, causing it to be set to 400.  The only way to get the behavior
of not sending silence when idle was to unset the variable completely.

This corrects the behavior such that setting the value to zero has the
same effect as leaving it unset.
Preserve value of send_silence_when_idle if possible

In commit 55d01d3defed4bfdc74704dbea0da9548a97a979 we set
send_silence_when_idle to -1 rather than 400 when SRTP is engaged.
But this left no way to enable white noise silence when desired.

When SRTP is engaged we can't simply not send RTP because it breaks
too many devices.  So we need to prevent send_silence_when_idle from
being unset or being set to zero.  This change allows it to be set to
other values so as to feed white noise rather than all zeros into the
codec.
Add force_send_silence_when_idle channel variable

If set to true, this prevents us from overriding the value of
send_silence_when_idle.  When that is unset or set to zero and SRTP is
engaged, we typically override the value because many devices can't
handle gaps in the SRTP stream.

This variable is mostly for testing whether particular devices can
handle this behavior.  Use at your own risk.
Avoid repeating ourselves in generating silence

We were handling the "send silence but not comfort noise" case in both
silence_stream_file_read and switch_generate_sln_silence.  This
changes the former to rely on the latter.
Improve channel variable name to srtp_allow_idle_gaps

This was momentarily called force_send_silence_when_idle, but that was
non-obvious as you had to set that value to true to be able to not
send silence when idle.  This name describes the purpose much better.