Moves analysis to the beginning of opus_encode()
Makes analysis usable for all frame sizes
Running transient_analysis() even for 2.5 ms frames

This means 2.5 ms frames can now use a higher bitrate for transients.
Makes opus_demo rubust to the encoder using variable frame duration

Also, the encode+decode mode now produces an output of the same size
as the original.
First attempt at varying the frame size depending on the audio (float only)

The search is based on minimizing the bitrate increase due to transients
by considering we can reduce the "transient boost" by reducing the frame
size, at the cost of increasing the normal overhead.
Re-enable analysis for 40- and 60-ms frames
Makes variable framesize less aggressive at lower rates
Multistream support for variable frame duration

Also fixes a bug with stereo streams where the initial memory was only
using the left channel.
Better handling of the multistream bitrate

Now supports OPUS_AUTO and OPUS_BITRATE_MAX
No need for extra_buffer anymore
Making multistream variable duration work for both the float and int API
Adds support for delayed decision

Variable duration option renamed to OPUS_SET_EXPERT_FRAME_DURATION,
with new API.
Also moves up the analysis to avoid having to do int->float conversion
on large buffers.
oops s/IMAX/IMIN/
Adds silence probability to speech/music detector

Avoids biasing the decision when it's all silence/noise.
Makes the speech/music probability estimation mode conservative

This is done using an adaptive beta and an estimate of the speech
and music detection confidence
Applies soft-clipping to the int decoder API.

opus_decode() and opus_multistream_decode() now apply soft clipping
before converting to 16-bit int. This should produce better a higher
quality result than hard clipping like we were doing before. The _float()
API isn't affected, but the clipping function is exported so users can
manually apply the soft clipping.
Oops, fixed API name from previous commit
test_opus_decode: force integer constants unsigned

Quiets:
warning: this decimal constant is unsigned only in ISO C90

when building with e.g., gcc -m32 -std=gnu90
Documentation fixes

Improved version of:
https://github.com/berkus/mettanode/commit/f44b28ab56ce8afa4b9d8c7460b184197519281c
Making CELT stereo<->mono transitions gradual

This not only avoids sudden changes in audio quality, but also increases
quality when we don't have enough bits to code a wide stereo image.