Improve the way we monitor changes within the Juju model, by maintaining
a single observer with an Application filter. This reduces the number of
duplicate callbacks being fired, and decreases the chatter between the
controller and client.
Signed-off-by: Adam Israel <adam.israel@canonical.com>