[tracing] Add browser-side discardable memory reporting
This CL introduced two major changes to the discardable dumpers for
memory-infra:
1) Add a browser-side discardable MemoryDumpProvider. This will emit dumps
on the browser process of the form: discardable/process_X/segment_Y
2) Change both the broswer and child side dumpers to use the memory-infra
graph API introduced in crbug.com/492102. In essence this make sure
that when both browser and child process create a dump for the same
segment, they attach the same guid to that. By doing that, the
trace-viewer UI can infer that the two segments, that are,
"discardable/process_X/segment_Y" on the browser and "discardable/segment_Y"
on the child, refer to the same memory and should be counted only once.
Furthermore this CL introduces fixes the lack of a lock on the discardable
child side.
BUG=497726
Review URL: https://codereview.chromium.org/
1221723002
Cr-Commit-Position: refs/heads/master@{#337030}