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?
The order is most-general to most-specific, i.e. stdlib, external, subpackage.