HttpDownloader implements IHttpUploader
HttpDownloader implements IHttpUploader

Summary:
This makes the `HttpDownloader` (which is the client API) implement `IHttpUploader` (which is the `DataDestination`'s primary argument). This also adds an ugly hack to pass the eventbase to the `HttpDownloader` when used as an `IHttpUploader` (via a thread local, so that the `DataDestination` API doesn't need to be rewritten, and we can maintain the performance characteristics of the client)

Also added CMakeLists to build HttpUploader & ifdefs so that the OSS build works.

Reviewed By: mackorone

Differential Revision: D37380564

fbshipit-source-id: b60449ae416ce44da1f7eff6783aa14bbc40d6fb

facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman,facebook/watchman