wctc4xxp: Speed up the rate of polling.

The polling interval was not fast enough to keep the tx ring full on a loaded
card. This fixes a regression introduced in commits
ba05e31c8a786d7524fd1aed47feda27331606dd and
354d88cd418627285e86e77cceb9318e33f0348c.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
wctc4xxp: Fix the timestamp calculation for the RTP stream.

I do not have any evidence that this made a difference, but hopefully it will
clear things up for people in the future who might be wondering why the
timestamp does not increase with the number of samples actually sent.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
wctc4xxp: Service tx ring in interrupt handler.

This helps to keep the tx descriptor ring at max capacity when the system is
otherwise loaded. Now ready packets are moved from cmd_list to the transmit
descriptor ring directly in the interrupt handler and not when the deferred
function runs.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
wctc4xxp: Prevent exhausting memory in firmware.

If the host system sends to many packets to the DTE to process, the on-card
memory can be exhausted which will result in an out of memory alert. In commit
2ac233824705e2f5f1cf67b6b22459fa20e9aa4c, the driver will halt all communication
with the card and request a reload if any alert is received.

Now the driver will silently drop any "burst" traffic that was sent to the
transcoder as opposed to expecting the firmware to do it. There is currently a
limit of 640 samples (80ms of audio) in flight to the firmware at any one time
allowed.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
WIP: Add PERSIST_CHANNELS (off by default)

This is just a debugging aide. I was trying to figure out what was taking so
long when the channels were being dropped into the meetme conference.  This
didn't appear to make much of a difference in the speed with which channels
could be dropped into conference.