Change RefCountedObject to use perfect forwarding.
The main reason for doing this is to allow refcounted objects to accept rvalue references in ctor and be able to std::move ctor rvalue arguments.
Also, refcounted.h is now generated using pump.py instead of manually creating each ctor version.

BUG= none

Review-Url: https://codereview.webrtc.org/2425683003
Cr-Original-Commit-Position: refs/heads/master@{#14687}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 0489e498ebef75e13b7d72e7470903d3bcae50b4
diff --git a/common_video/video_frame_buffer.cc b/common_video/video_frame_buffer.cc
index dbb2743..1d20937 100644
--- a/common_video/video_frame_buffer.cc
+++ b/common_video/video_frame_buffer.cc
@@ -7,11 +7,12 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
+#include "webrtc/common_video/include/video_frame_buffer.h"
+
+#include <string.h>
 
 #include <algorithm>
 
-#include "webrtc/common_video/include/video_frame_buffer.h"
-
 #include "webrtc/base/checks.h"
 #include "webrtc/base/keep_ref_until_done.h"
 #include "libyuv/convert.h"