Charmbrowser view now cancels inflight store requests when it's destroyed
serviceDeployed event properly fired.
Remove need for header clients to pluralize.
Test added.
Lint passes
Add tests for the new transaction id's being returned and for the cancel in flight request method added to the charmworld api
Update machine headers on add/remove.
Merge pull request #348 from hatched/sticky-headers-1322255

https://bugs.launchpad.net/juju-gui/+bug/1322255

This adds a method to abort in flight requests from the charmworld api. So now when the charmbrowser view is destroyed it can abort any in flight requests so that it doesn't render after it's been destroyed.

#### To QA
Follow the steps in the bug to try and reproduce.
Everything else should continue to work as expected.

#### Note
Charmworld responded too fast for me to properly test this bug so I needed to throttle my network connection down manually.
Merge pull request #347 from makyo/ghost-to-service

On deploy, the ghost inspector switches to the service inspector if it's open.  QA with all flags.  With the mv flag, make sure to open a ghost inspector before committing changes.
Merge pull request #346 from kadams54/fix-mv-headers

### QA

1) With the `/:flags:/il/mv` active, switch to the machine view.
2) Deploy a bundle.
3) Ensure the machine column count is updated properly. Note that there's a known bug where the same machine will be rendered multiple times to the column, which has its own card. Nonetheless, the header should maintain the correct count.
4) Select a machine and make sure the container/unit header updates properly.

This branch fixes both the "Fix machine count…" and "Investigate using handlebars pluralize…" cards.
Destroy old inspectors when changing state.
Merge pull request #349 from makyo/duplicate-buttons

QA with il flag - deploy two services, then click each in turn.  There should be no lingering expose toggle from the previous inspector.