Add `endTime` into task execution summary (#4326)
Adds a custom MarshalJSON method to get TaskExection to look the way we
want it to look. This also allows us to make the TaskExecutionSummary
struct itself a bit tighter with private fields, etc.
This commit also:
- renames some fields for readability
- removes the Label field from TaskExecutionSummary as it isn't needed.
I cross checked with `--profile` flag to make sure it wasn't somehow
used by the chrometracing profile that is generated