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
Fixed failing tests
Set rel-indicator image on update
Responding to reviews: test modified to check for unchangedness, indentation
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.
Fixed CI issue, card created - empty attrs in FF are null, not empty string.
Swapped double for single quotes
Testing pre-commit hook

Hooks documentation

NB: This commit has a file (app/app.js) which will not pass lint to
test the pre-push hook.

Documenting hooks complete.

This commit fixes the lint error in app/app.js introduced before.

Added note about os x
Responding to reviews: clarify hooks, simplify sample hook.
Merge pull request #220 from makyo/develop

This is a docs only change.
Minor fix to example hook in docs
Merge pull request #221 from makyo/minor-doc-hooks

Minor fix to example hook in docs
Merge pull request #218 from makyo/rel-icons-loadonce

To QA:

1. Start devel, watch the terminal
1. Deploy a bundle
2. Set one service in the bundle to 100 units
3. Watch terminal with simulator running; you should only see requests for rel icons when relation aggregatedStatus changes
List machines in the machine view.