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.
This method name isn't really representative of what it's doing, could you change it to `removeUncommmittedUnitsFromMachine` long name, but more accurate.