Waiting agents honor their deadlines

An agent waiting for a follow-up message now keeps its deadline scheduled. At the deadline, the run fails with DeadlineExceeded and deletes its sandbox without sending another model request. The scheduled cleanup is stored durably and also applies to runs waiting for their AgentGroup to release them.