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 THINK we try to do these model modifications in the ecs so that the consumer of the ecs api only has to call the env call and it'll take care of everything. I would propose moving this method into the ecs. Thoughts?