Charm details breakout panel is a dispatched view.

* renderUI can open the charmDetails viewlet.
* metadata.charm is used by state to signify if the details should be open.
* the service inspector can be dispatched to without creating a new inspector,
  so details can be viewed without resetting the inspector's state.
I think that all of the new code below should be removed, and the `createServiceInspector` method should be passed the metadata object. `updateServiceInspector` should also be removed and the `createServiceInspector` method should be structured like the `renderCharmBrowser` method here https://github.com/juju/juju-gui/blob/develop/app/subapps/browser/browser.js#L482

With those changes the inspector handles what it needs to render like based on the data that's passed into it. If there is a currently active inspector then the new values are set on it the inspector, it will then parse out the values in the metadata to determine what it needs to do. I feel like this will give us the greatest flexibility in adding additional functionality later on and simplify the inspector dispatcher.