Environment change set

Adds the EnvironmentChangeSet class who's responsibility it is to keep track of the actions the user makes in the environment for dispatching at a later date.

__To QA__
- Start the GUI with the flag `ecs`
- Drag and drop a charm from the charm browser and click the Deploy button once
- Open the inspector and run `app.ecs.commit()` and your charm should deploy.