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 know if it's preferred, but it's reliable and doesn't rely on something we're going potentially alter, like names.

Machine has an agent_state ish thing too, but I don't know it's ins and outs. I believe I saw it populated for uncommitted machines though, so I don't know that it would be reliable.