Use server-sent events

This is the implementation of #14 for harpoon-agent. It's also the first unit test :)

For now, the previous event interfaces still exist in the agent lib, and are still implemented by the agent's internal types. @peterbourgon, should those changes take place here? Or as a part of the scheduler changes?