Move webrtc/{base => rtc_base}

This refactoring takes a careful approach to avoid rushing the change:
* stub headers are left in all the old locations of webrtc/base
* existing GN targets are kept and now just forward to the moved ones
  using public_deps.
The only exception to the above is the base_java target and its .java files,
which were moved to webrtc/rtc_base right away since it's not possible
to use public_deps for android_library.
To avoid breaking builds, a temporary Dummy.java file was added to
the new intermediate target in webrtc/rtc_base:base_java as well to avoid
hitting a GN assert in the android_library template.

The above approach should make the transition smooth without breaking
downstream.

A helper script was created (https://codereview.webrtc.org/2879203002/)
and was run like this:
stub-headers.py -s webrtc/base -d webrtc/rtc_base -i 7634
stub-headers.py -s webrtc/base/numerics -d webrtc/rtc_base/numerics -i 7634

Fixed invalid header guards in the following files:
webrtc/base/base64.h
webrtc/base/cryptstring.h
webrtc/base/event.h
webrtc/base/flags.h
webrtc/base/httpbase.h
webrtc/base/httpcommon-inl.h
webrtc/base/httpcommon.h
webrtc/base/httpserver.h
webrtc/base/logsinks.h
webrtc/base/macutils.h
webrtc/base/nattypes.h
webrtc/base/openssladapter.h
webrtc/base/opensslstreamadapter.h
webrtc/base/pathutils.h
webrtc/base/physicalsocketserver.h
webrtc/base/proxyinfo.h
webrtc/base/sigslot.h
webrtc/base/sigslotrepeater.h
webrtc/base/socket.h
webrtc/base/socketaddresspair.h
webrtc/base/socketfactory.h
webrtc/base/stringutils.h
webrtc/base/testbase64.h
webrtc/base/testutils.h
webrtc/base/transformadapter.h
webrtc/base/win32filesystem.h

Added new header guards to:
sslroots.h
testbase64.h

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True
R=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2877023002 .
Cr-Commit-Position: refs/heads/master@{#18816}
diff --git a/webrtc/base/messagehandler.h b/webrtc/base/messagehandler.h
index 72c0dc6..943d0d7 100644
--- a/webrtc/base/messagehandler.h
+++ b/webrtc/base/messagehandler.h
@@ -11,65 +11,9 @@
 #ifndef WEBRTC_BASE_MESSAGEHANDLER_H_
 #define WEBRTC_BASE_MESSAGEHANDLER_H_
 
-#include <memory>
-#include <utility>
 
-#include "webrtc/base/constructormagic.h"
-
-namespace rtc {
-
-struct Message;
-
-// Messages get dispatched to a MessageHandler
-
-class MessageHandler {
- public:
-  virtual ~MessageHandler();
-  virtual void OnMessage(Message* msg) = 0;
-
- protected:
-  MessageHandler() {}
-
- private:
-  RTC_DISALLOW_COPY_AND_ASSIGN(MessageHandler);
-};
-
-// Helper class to facilitate executing a functor on a thread.
-template <class ReturnT, class FunctorT>
-class FunctorMessageHandler : public MessageHandler {
- public:
-  explicit FunctorMessageHandler(const FunctorT& functor)
-      : functor_(functor) {}
-  virtual void OnMessage(Message* msg) {
-    result_ = functor_();
-  }
-  const ReturnT& result() const { return result_; }
-
-  // Returns moved result. Should not call result() or MoveResult() again
-  // after this.
-  ReturnT MoveResult() { return std::move(result_); }
-
- private:
-  FunctorT functor_;
-  ReturnT result_;
-};
-
-// Specialization for ReturnT of void.
-template <class FunctorT>
-class FunctorMessageHandler<void, FunctorT> : public MessageHandler {
- public:
-  explicit FunctorMessageHandler(const FunctorT& functor)
-      : functor_(functor) {}
-  virtual void OnMessage(Message* msg) {
-    functor_();
-  }
-  void result() const {}
-  void MoveResult() {}
-
- private:
-  FunctorT functor_;
-};
-
-} // namespace rtc
+// This header is deprecated and is just left here temporarily during
+// refactoring. See https://bugs.webrtc.org/7634 for more details.
+#include "webrtc/rtc_base/messagehandler.h"
 
 #endif // WEBRTC_BASE_MESSAGEHANDLER_H_