registry: publish UnitState with TTL

Fix #783
server: only parse cfg.AgentTTL once
Merge pull request #788 from bcwaldon/783

registry: publish UnitState with TTL
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.