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?
Should this and the next line be combined? e.g.

if ev, err = es.Read(); err != nil {
...