Trigger config-changed on address change

Trigger a `config-changed` event whenever a unit's addresses change. This is a step on the road to solving https://launchpad.net/bugs/1215579 (propagating address changes to relation settings).

There's a new uniter API method here, `WatchUnitAddresses`, which on the server-side simply defers to `state.Machine.WatchAddresses`. The uniter filter is updated slightly so that it starts watching address changes after the first `config-changed` event is received.
Well, we shouldn't *ever* send a config-changed event until the client asks for one. What I was mainly suggesting was that we should make sure we've consumed *both* an address change *and* a config change from the watchers before we send anything down to the uniter itself. Otherwise the initial event from the address watcher will be sure to trigger two config changes.

(Unless you implemented the address watcher without an initial event? if so, please don't do that :))