Set URI on Broadcast Channels when deserializing Broadcasts

Since the `uri` field on Channels on Broadcasts is not populated use a
custom deserialization process in Gson using a TypeAdapterFactory to
set that field from the Broadcast's `broadcastOn` field. Equality on
Channels should then work.
Merge branch 'broadcast-deserialization' into stage

* broadcast-deserialization:
  Set URI on Broadcast Channels when deserializing Broadcasts