Hide drop targets when unit is dropped on a header.
Curated results are now cached as are their charms for the charm details breakout
Add search results to the charmbrowser cache
Charm/Bundle details in the charmbrowser now both use the cached results
Created an empty method for the cache to reset it back to the original empty state
Render token types separately.
Smplified the bundle entity rendering by creating a stateified ID
Added comments.
Added tests and fixed edge case issues including a YUI bug workaround
Merge pull request #372 from hatched/cache-charmbrowser-requests

Hook cache up to the charmbrowser and charm details views

This branch adds new functionality to the charmbrowser cache and hooks it up to the charm details page and charmbrowser.

#### To QA
1. Click on a charm in the curated list - the charm details should open fast and not make another request for more information.
2. Make a search.
3. Click on a charm in the search results its details page should open fast and not make another request for more information.
4. Click 'Home' it should not make another request for more information (Note: there is a UI performance bug here will will be addressed in a later branch)
Merge pull request #370 from huwshimi/fix-drop-header-hiding

Hide drop targets when unit is dropped on a header

This branch fixes a bug where dropping a unit on a header would leave the drop targets visible.

https://bugs.launchpad.net/juju-gui/+bug/1326240

QA:
- drag a service to the canvas
- open the machine view
- drag a unit to "Create new machine"
- the header should return to "Environment" (with the machine count etc.) and a new machine should be created

Dropping a unit on the containers header should also return the headers to the correct states.
Merge pull request #373 from makyo/token-render

Render token types separately.

Render each token container to the DOM separately for a quick win in speed on loading curated, etc.

QA with the frames timeline, ensure that FPS doesn't drop too far below 15.
Remove initState call for the charmbrowser since it's all handled by the state class now
Merge pull request #376 from hatched/fix-1327424

Remove initState call for the charmbrowser since it's all handled by the state class now

This is the fix for: https://bugs.launchpad.net/juju-gui/+bug/1327424

The initState call was left in the app but it's no longer needed because the charmbrowser controls are all handled directly by the state class.

#### To QA
Click the Juju icon in the to left, no error? OK!