Cache unit tokens internally for easy rendering.

Switch unplaced service unit tokens to function in the same manner as
machine tokens. They're stored in a cache by ID and when a DB change
comes in we grab the correct token and re-render it.
Merge pull request #339 from kadams54/unit-token-rendering

### QA

With `/:flags:/il/mv`.

1. Deploy the Wikimedia bundle.
2. Drag-n-drop the Wordpress charm over, but don't deploy it.
3. Switch to machine view.
4. Run this in your console:
~~~~
var u = app.db.units.item(2), m = app.db.units.revive(u); m.set('machine', '0');
~~~~

You should see the Wordpress icon added to the 0 machine and removed from the unplaced units column. Additionally the "All units placed" message should appear.