pkg: accept initial values in New*Set functions
unit: implement FakeUnitManager.GetUnitStates
registry: fill in more FakeRegistry methods
agent: rename AgentState to AgentCache
agent: unexport UnitStatePublisher.PublishAll
agent: use AgentReconciler model to drive Agent
functional: wait 15s for active units

The new agent reconciler slows things down a bit. The functional
tests reliably fail with 10s, and pass with 15s.
agent: simplify agentCache down to bare minimum
engine: no purge on loss of etcd

Partial fix for #708