Result Streaming

Stream partial results from long-running tasks via current_job.publish() and job.stream().