Reland "SelectSettings algorithm for audio constraints."

This is a reland of 51e98fac1dfdffcd0c04639bc60aedd97a272ae9
Original change's description:
> SelectSettings algorithm for audio constraints.
>
> This is intended to be used in getUserMedia to implement spec-compliant
> audio constraints processing.
>
> BUG=657733
>
> Change-Id: Ida1bc5561b16b0c5ac1628c19c71fb8f0b5a33fd
> Reviewed-on: https://chromium-review.googlesource.com/517782
> Commit-Queue: Guido Urdaneta <guidou@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Henrik Boström <hbos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#478607}

BUG=657733

Review-Url: https://codereview.chromium.org/2941553003
Cr-Commit-Position: refs/heads/master@{#480445}
14 files changed