Update the PushEvent to have a nullable PushMessageData
The specification now allows a PushMessage to have valid non-empty data,
valid empty data, and null data. To support that, the content layer now uses
a PushEventPayload which can be null.
This also adds and updates relevant unit tests for each of the layers.
BUG=
578036
Committed:
https://crrev.com/dd4d2b253d29963aacb80e3a0dea42061f1f47c4
Cr-Commit-Position: refs/heads/master@{#371839}