Add support for RTCConfiguration.iceCandidatePoolSize.

This is a performance optimization that will result in ICE candidates
being gathered before setLocalDescription has been called. Later, when
setLocalDescription *is* called, any pooled candidates will be fired
in an "icecandidate" event immediately.

Besides candidate gathering appearing to occur quicker, this optimization
doesn't have any effects visible to JavaScript.

Note that the pool size can only be changed before setLocalDescription,
as described by JSEP. This pool is only intended to be used for the
first offer/answer, after which an ICE restart must be used to gather
new candidates.

Intent to Implement and Ship thread:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/dWXRWoi5ueg/nFiVhj5LCAAJ

BUG=chromium:673395

Review-Url: https://codereview.chromium.org/2721163002
Cr-Commit-Position: refs/heads/master@{#456998}
9 files changed