essessey v0.7.0 — ConversationID becomes StreamID

Breaking. MessageMeta.ConversationID is now MessageMeta.StreamID, and its JSON
tag moves from conversation_id to stream_id -- a wire change, so a client reading
message_start must read the new key. ParsedStream.ConversationID is now
ParsedStream.StreamID. SendMessageStart and SendStreamPreamble take streamID.

Migration is mechanical: conversation_id to stream_id on the wire,
.ConversationID to .StreamID in Go.

Nothing in this library is chat-specific -- it streams content blocks for a
conversation turn, a build log, a document render, a long-running job. Naming the
identifier after one caller's domain made every other use read as a workaround.

This also closes an incoherence from v0.6.0: EventStore keyed retention by
streamID while the wire said conversation_id. EventStore now documents that they
are the same value, that it is caller-minted and opaque, and that a reconnecting
client supplies it -- so a resume needs the same authorization as opening the
stream.