Add method to reset all model components

The method replaces each model component with a copy of the equivalent
(class) component.
Add method to set component at location in model tree

Needed for populating model tree when deserializing a model JSON.
Ensure model component is replaced when adding new component to tree

Needed for when a component from the ComponentList is selected to
replace a component in the ModelTree.
Open previously saved model and populate WMT

The DataManager#deserialize method is working, but it's ugly. Should go
back and refactor.