Provide the idea of a demo mode to the gui.

- Enable passing a url param to the api calls for getting icons.
- This will enable manually overriding the icon safety checks for the purposes
of a demo which has been sanity checked by the presenter.
Added a notification if you try and use local charm upload when your Juju version does not support it.
Merge pull request #102 from mitechie/demo-mode

- Enable passing a url param to the api calls for getting icons.
- This will enable manually overriding the icon safety checks for the purposes
of a demo which has been sanity checked by the presenter.
Merge pull request #105 from hatched/local-charm-not-supported

__To QA__
- Downgrade your version of Juju to 1.16.x version.
- Deploy the ~juju-gui latest charm.
- Set juju-gui-source to this branch.
- Try and deploy a zip archive of a charm and a notification should show.
use custom images for relation icons
Added a flag to enable the databinding functionality in the Viewlet Manager so that it can be used without databinding
Merge pull request #108 from garyposter/rel-indicator

This simply hooks up relation icons per the design.  If you want to QA, turn on the feature flag (`http://localhost:8888/:flags:/relationCollections/`), make a relation, and verify that the green circle shows up.  The aggregatedStatus function is just a stub at this point, so it will only ever be green in this go-round.
Merge pull request #109 from hatched/toggle-viewlet-databinding

__To QA__
We just need to make sure that the databinding still works:
- deploy wordpress
- open the inspector to the configuration tab
- run ```var srv = app.db.services.item(0); var cfg = srv.getAttrs().config; cfg.debug = 'yes'; srv.set('config', cfg);```
- the "debug" option should now read yes
Add in relation menu with ability to delete

Relations now provide a menu with all of the actual relations in the collection
available.  Clicking on the relation will bring up the delete dialog.

Proper positioning of the menu is not included in this branch, but rough
posititioning is.

Switching to quoted keys for window.flags

Lingering environment view assigned to global; adding template.

Responding to reviews; includes drive-by of destroying view in test_environment_view.js
Merge pull request #107 from makyo/relation-menu

Relations now provide a menu with all of the actual relations in the collection
available.  Clicking on the relation will bring up the delete dialog.

Proper positioning of the menu is not included in this branch, but rough
posititioning is.
Sandbox mode local charms upload preparation.
Merge pull request #110 from frankban/local-charm-prepare-fake

Sandbox mode local charms upload preparation.

Code reorganization to introduce a fake web handler
which will simulate the local charm upload process in
sandbox mode.

QA:
1) Bootstrap juju core trunk and deploy the charm with
this branch. One way to do it is:
juju bootstrap --upload-tools
juju deploy juju-gui
juju expose juju-gui
juju set juju-gui juju-gui-source="https://github.com/frankban/juju-gui.git local-charm-prepare-fake"
Another way to do the same is:
create a release (with BRANCH_IS_GOOD=1),
manually include it in a local the gui charm,
remove the stable release already in the charm,
and then run "make deploy".

2) Open the GUI, login and deploy a local charm
(zip drag and drop to the topology).

3) Ensure everything works well and deploy the local charm.

4) Now let's do the same in sandbox mode
(juju set juju-gui sandbox=true) or just "make prod"
in the branch.

5) This time, after dropping the zip, you should see
a notification message like
"local charm upload in sandbox mode not yet implemented".

6) Done. Destroy the environment.