Query the existence other forms of browsing history.

This CL implements the query for other forms of browsing history, which
is necessary to show the notices in the Clear Browsing Data dialog on
all platforms. Previously, the query was represented by a dummy method
WebHistoryService::HasOtherFormsOfBrowsingHistory(), but now we have an
actual endpoint on the Sync server to answer the query.

More detailed description of the change:
1. sync/protocol/
Adapt history_status.proto from cl/122116426 and add it to Chromium code.

2. components/history/
Replace the dummy method WebHistoryService::HasOtherFormsOfBrowsingHistory()
with the actual request QueryOtherFormsOfBrowsingHistory(). We use most of
the existing WebHistoryService insfrastructure, but ReadResponse is replaced
by MessageLite::ParseFromString() since we're receiving a protobuf.
Furthermore, the query URL is not static, as in other WebHistoryService calls,
but has to be generated from the browser user agent and channel.

3. components/browsing_data_ui/
Update the logic to include calls to QueryOtherFormsOfBrowsingHistory().
This call and QueryWebAndAppActivity() call should run in parallel to save
time, since they are both HTTP requests.

4. chrome/
Provide the user agent string and the channel info from
the Desktop and Android callsites (iOS is in a different
codebase)

BUG=614652
[email protected],[email protected]

Review-Url: https://codereview.chromium.org/1983073002
Cr-Commit-Position: refs/heads/master@{#395894}
20 files changed