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.
The 
```
previousInspector = this._activeInspector
```
line had to be broken out and repeated like this so we *don't* create `previousInspector` in the case where we're just updating the existing service inspector.