emit event version message; stop double-encoding

server-sent event types are now used, rather than wrapping the event
with a 'type' and 'event'
omitempty all over the place
versions are events
re-add event.Message

this is useful for encoding arbitary Events and being able to decode
them back into the original form. (this is needed because Event is a
very open-ended interface.)
don't auto-remove builds, snapshot events
remove callbacks functionality

this is replaced by the new event stream api. users of the api should
interpret the event stream instead; this allows quicker and more
fine-grained status updates (e.g. getting each input as they finish
rather than all of them after they all finish).

[#80512764]
remove status, start time, end time from build

...now that it's not reported anywhere

[#80512764]
only reattach to in-flight builds on start

[#80512764]
return turbine api endpoint as header on execute

remove AbortURL/HijackURL

[#80512764]