[r=wallyworld],[bug=1303697] Backport trunk r2606
lp:~fwereade/juju-core/uniter-relation-states
worker/uniter: startup with correct relation state
The uniter's runListener is not started until after relation state is set
up; and relation state setup is fixed to use true relation state from the
API server rather than the local best guess, which is inaccurate when any
joined relation has never seen a remote unit.
This involves a new API, which the unit agent will wait for, in case it
connects to an API server which hasn't yet been upgraded.
https://codereview.appspot.com/85670046/