Create LocationReportBody, and derive relevant report types from it.

This will allow these reports to be processed more consistently, and
remove some boilerplate code from each.

This patch is part of a larger effort to refactor the reporting code in
Blink.

Bug: 931863
Change-Id: I2cf86444018a193f2c0a05735090f5727c93dd3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1532242
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Paul Meyer <paulmeyer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642713}
10 files changed