The Log object should never have a null entry as it is defined. This change fixes that, backfills equals/hashCode for convenience, and adds Jackson annotations that use the validating constructor. This also adds a json annotation to span that allows logs to be serialized. This is tested by round-tripping the json.