Observe pending/in progress bundle deployments.
Ghost inspector opens via a viewNavigate event using a state change
Hooked up the environment header controls and added a machine change object
moved the machine view rendering into browser.js
Merge pull request #215 from frankban/deployer-status-api

Start observing scheduled/started deployments
right after a successful login.
Also notify recently occurred errors.

This way the GUI is able to provide bundle
progress information to the user even if
the user refreshes after deploying a bundle,
or if the bundle deployment itself wasn't
started from the GUI (e.g. from quickstart).

Also did some clean up on the Deployer:Status
related code.

QA:
- juju-quickstart an environment:
  `juju quickstart`;
- switch the GUI to this branch:
  `juju set juju-gui juju-gui-source="https://github.com/frankban/juju-gui.git deployer-status-api"`;
- wait for the GUI to be ready 
  (`tailf ~/.juju/local/log/unit-juju-gui-0.log`) can help;
- deploy a bundle from quickstart:
  `juju quickstart bundle:mediawiki/single`;
- when the GUI opens in the browser, 
  you should see a "bundle in progress" notification;
- now deploy a bundle from the GUI, e.g.: search for "rails"
  and drag the "example-single" bundle;
- you should see a notification;
- refresh to check both pending and in progress bundle are notified;
- wait for the first bundle to be deployed;
- refresh and you should see an "in progress" notification for
  the second one;
- destroy the mediawiki service, and wait for it to be gone;
- wait for the remaining deployment to be completed;
- deploy the failing bundle in http://dpaste.com/1767335/plain/:
  `juju quickstart http://dpaste.com/1767335/plain/`;
- when the GUI opens, you should see an "invalid relation" error for
  the last bundle;
- this error will be visible on each refresh for one hour, 
  and then it will go away: wait if you want, or just 
  trust me and destroy the environment.

Done, thank you!
Fixed failing tests
Merge pull request #217 from hatched/new-states

This branch adds the inspector, machine, and topology states when run using the `mv` & `il` flags. The environment header buttons now show the topology and machine view when toggled back and forth. The inspector also renders into the sidebar.

#### QA
Load the GUI using the `mv` and `il` flags. 
The machine view panel should not be rendered.
Click the machine view button in the environment header.
The machine view panel should now be rendered and the sidebar closed.
Click the service view button in the environment header.
The topology should now be shown.

#### Note
A large majority of this branch is going to be refactored in the follow-up so it's missing tests to cover those areas.