added a changeState event to interact with the state object instead of using viewnavigates
Merge pull request #237 from hatched/view-navigate-state

#### To QA

Load the gui using the `state` flag.
The charmbrowser should load.
Click a charm, its details should open.
Close the details,
Click a bundle, its details should open.
Close the details.
Perform a search
Click one of the results, its details should open.
Execute commands hierarchically in a commit

This introduces a means to execute commands after commands on which they depend
have already been executed.  There will be two follow-up branches:

* Wait until each level of the hierarchy has fully executed (i.e.: RPC
  callbacks received) executed before moving on to the next
* Remove commands from the changeset after they have executed.

Fixed test that was doing a deep-equal on an object that had changed.
Moving nested functions out to be their own member functions
Merge pull request #238 from makyo/hierarchical-commits

This introduces a means to execute commands after commands on which they depend
have already been executed.  There will be two follow-up branches:

* Wait until each level of the hierarchy has fully executed (i.e.: RPC
  callbacks received) executed before moving on to the next
* Remove commands from the changeset after they have executed.

Fixed test that was doing a deep-equal on an object that had changed.
Implement basics for ServiceUnit token/view.