state: rewrite AssertChange and AssertNoChange
state: rewrite AssertChange and AssertNoChange

Fixes LP 1588575

Rewrite AssertChange and assertNoChange helpers to (hopefully) be less
flaky. Waiting for a value to arrive, or not arrive, is inherently
flaky.

kat-co/juju,bz2/juju,frankban/juju,axw/juju,axw/juju,alesstimec/juju,marcmolla/juju,dooferlad/juju,waigani/juju,mikemccracken/juju,AdamIsrael/juju,alesstimec/juju,frankban/juju,macgreagoir/juju,reedobrien/juju,howbazaar/juju,ericsnowcurrently/juju,bz2/juju,AdamIsrael/juju,bac/juju,bac/juju,dimitern/juju,anastasiamac/juju,macgreagoir/juju,ericsnowcurrently/juju,bz2/juju,alesstimec/juju,dimitern/juju,AdamIsrael/juju,bac/juju,mjs/juju,ericsnowcurrently/juju,howbazaar/juju,ericsnowcurrently/juju,mjs/juju,howbazaar/juju,ericsnowcurrently/juju,mjs/juju,macgreagoir/juju,mikemccracken/juju,perrito666/juju,waigani/juju,bz2/juju,gabriel-samfira/juju,axw/juju,bac/juju,gabriel-samfira/juju,kat-co/juju,mikemccracken/juju,perrito666/juju,mikemccracken/juju,anastasiamac/juju,perrito666/juju,macgreagoir/juju,kat-co/juju,bac/juju,axw/juju,perrito666/juju,mjs/juju,marcmolla/juju,dooferlad/juju,alesstimec/juju,kat-co/juju,dooferlad/juju,howbazaar/juju,gabriel-samfira/juju,anastasiamac/juju,marcmolla/juju,reedobrien/juju,waigani/juju,dooferlad/juju,frankban/juju,waigani/juju,frankban/juju,marcmolla/juju,bz2/juju,kat-co/juju,mjs/juju,alesstimec/juju,gabriel-samfira/juju,marcmolla/juju,dooferlad/juju,axw/juju,reedobrien/juju,dimitern/juju,perrito666/juju,anastasiamac/juju,dimitern/juju,howbazaar/juju,mikemccracken/juju,mjs/juju,anastasiamac/juju,dimitern/juju,reedobrien/juju,AdamIsrael/juju,mjs/juju,macgreagoir/juju,reedobrien/juju,frankban/juju,gabriel-samfira/juju