Move uncommitted units back to unplaced service list on machine destroy.

* Currently when you destroy an uncommitted container or machine, it appears 
  that the ucommitted unit placed on it is destroyed as well, but the unit
  remains in the change list.
* When a machine is destroyed, uncommitted units are removed from the machine's
  unit list and are updated to show they aren't assigned.
* New unplaced service tokens are created for them.
* If the machine is a container, the parent machine also has the units removed
  from its list, and its token is updated to not show the uncommitted unit.
* Uncommitted units remain, to be placed on new containers or destroyed.
I don't actually see the ecs doing things like this; the ecs maintains and manipulates records, it doesn't actually muck with models.

removeUncommittedUnits doesn't do much manipulation of the environment--it is predominantly concerned with syncing up the view to match the existing  state. That is: there is 1 or more uncommitted units, and now they need to be set as unplaced b/c their machine is gone or going.