Transfer the ownership of OSExchageData on drop

In all scenarios when the drop operation is called,
there is no need to keep the OSExchangeData after
that in the caller. So to make the ownership more
clear and possibly open up the avenue for handling
the drop operation asynchronously in the future,
this CL moves the ownership of the OSExchangeData
from the caller to the drop function implementation.

This is mostly a mechanical CL changing the type of
OSExchangeData to unique_ptr everywhere.

TBR=sky@chromium.org, sadrul@chromium.org

Bug: 804633
Change-Id: I0e74290b79083e6b8ea5f93e5a75070e63c915f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1666910
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Navid Zolghadr <nzolghadr@chromium.org>
Auto-Submit: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#675319}
44 files changed