Original description: Add proper lifetime of encoder-specific settings. Permits passing VideoEncoderConfig between threads and not worry about the lifetime of an underlying void pointer. Also adds type safety to unpacking of codec-specific settings. These settings are not yet propagating to VideoEncoder interfaces, but the aim is to get rid of webrtc::VideoCodec for VideoEncoder. BUG=webrtc:3424 R=perkj@webrtc.org, pbos@webrtc.org TBR=mflodman@webrtc.org Review-Url: https://codereview.webrtc.org/2347843002 Cr-Commit-Position: refs/heads/master@{#14396}