state/machine: use WaitAgentPresence, rename AgentAlive

Using WaitAgentPresence after SetAgentPresence gives time for the first write of the pinger data to mongo to be persisted. This fixes issues with juju status and ensure-availability being run in quick succession with juju bootstrap.
I'm a bit tempted to say we should make this interface official -- there's that aliver in status_test.go as well.