This reduces binary size considerably and solves some other problems. Also rewrote using variadic templates. Initial patch contributed by andrey.semashev@gmail.com. BUG=webrtc:2305 Review-Url: https://codereview.webrtc.org/2509733003 Cr-Commit-Position: refs/heads/master@{#16703}