Drive by cleanup.
Don't re-render panel when hiding notification.

All we need is to clear the notification, so stick to that.
Usability tweak to improve notifications.
Merge pull request #313 from kadams54/fix-deployer-notifications

### QA

To test:

1. Drag and drop the first charm.
2. Click the Deploy button and verify the summary is correct, but don't confirm. Cancel or close the summary.
3. Drag and drop the second charm.
4. Click the Deploy button - used to be you'd get a "no uncommitted changes" message. Now you'll now see the expected list of two services and two units.
Prototype.
Tests and lint pass.
Merge pull request #314 from makyo/unit-placement

QA in sandbox:

- disable the simulator;
- drag/deploy a service;
- get a reference to the new service unit:
  `var unit = app.db.units.item(0)`;
- add a new machine to the db:
  `var machine = app.db.machines.add({id: 'new1'})`;
- add the new machine to the ECS
  attaching a callback that will remove the ghost machine:
  `app.env.addMachines([{}], function() {app.db.machines.remove(machine)}, {modelId: 'new1'})`;
- add a new container to the machine:
  `var container = app.db.machines.add({id: 'new1/lxc/0'})`
- add the new container to the ECS
  attaching a callback that will remove the ghost machine:
  `app.env.addMachines([{parentId: 'new1', containerType: 'lxc'}], function() {app.db.machines.remove(container)}, {modelId: 'new1/lxc/0'})`
- place the unit in the container:
  `app.env.placeUnit(unit, 'new1/lxc/0')`
- click deploy and confirm (status bar);
- everything should work.

Perform QA in real env, also make sure placing units on root-level machines works
Console error messages as requested by hatch on _addIconsToUnits
* Both the case where no service is found and the case where the service has no icon are logged.
* Tests added.
Namespace the machine view tokens.
Fix unit mapping to machines.
Merge pull request #315 from jaycee/nice-big-blowup

* This addresses a request from hatch that the _addIconsToUnits method log an
  error under certain failure modes that would otherwise be silent.
Merge pull request #319 from huwshimi/machine-unit-matching

Unit mapping to machines was broken because it was doing partial id matches on the position of the match e.g. if the machine id was "1" it would match "14/lxc/0" or if it was "2" it would match "26/lxc/0".

QA:

Deploy some services and let the simulator run. Once the number of machines is over 9 the additional units created by the simulator were being mapped to the machine with id "1". This should no longer happen.

After the simulator has been running for some time, in a console run `app.db.units.filterByMachine("1", true)` and all the units returned should have `.machine: "1..."`.
Merge pull request #317 from huwshimi/fix-tokens

Fix the namespacing of the machine view tokens as the styles were affecting the sidebar tokens as well.