engine/agent: fix reconciliation triggers

Listen indefinitely instead of returning after the first trigger event.

Agent should be listening to JobTargetStateChangeEvent.
registry: simplify EventStream further

Actually use EventStream interface with etcdEventStream implementing it

Remove "listen" set, as no longer used to filter events
registry/event: further simplification

Can now share a single EventStream object between the engine and agent
(since Next is goroutine-safe).

Simplification of various constructors as there are no error cases.
Merge pull request #791 from jonboulle/trigger

engine/agent: fix reconciliation triggers