Hide drop targets when unit is dropped on a header.
Created basic cache object and its tests
Merge pull request #371 from hatched/create-browser-cache

No QA possible it's just a basic object.
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
Visual changes from design review.
Merge pull request #374 from huwshimi/visual-review-fixes

Visual changes from design review

Made header 48px high.
QA:
- check the height of the main header
- check the Notifications and Help & feedback dropdowns are correctly positioned
- check the sticky headers in the sidebar are correctly positioned

Removed old items from environment header.
QA: The environment header should only have service and machine tabs.

Open unit details from charm name.
QA:
- drag a service to the canvas
- click deploy and confirm
- click on the service block
- click on the charm name below the service title (e.g. cs:precise/wordpress-22)
- the charm details should appear

Made inspector service icon larger
QA:
- drag a service to the canvas
- click deploy and confirm
- click on the service block
- the service icon should be 50x50px
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!
Reset sectionA when the ghost service is destroyed from the inspector
Merge pull request #377 from hatched/fix-132558

Reset sectionA when the ghost service is destroyed from the inspector

This is the fix for bug: https://bugs.launchpad.net/juju-gui/+bug/1321558

#### To QA
Follow the repro steps in the bug to try and reproduce.