Fix bug 1018

- Only destroy manually provisioned machines
- Fix in the observer: check if entity is not dead
- Destroy applications

Change-Id: I2b79585775572ed99aaa7ad7fe053bb33424163f
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/n2vc/juju_observer.py b/n2vc/juju_observer.py
index 10efa98..e2f0470 100644
--- a/n2vc/juju_observer.py
+++ b/n2vc/juju_observer.py
@@ -258,13 +258,14 @@
                 return
 
             # write change in database
-            await self.n2vc.write_app_status_to_db(
-                db_dict=self.applications[application_id].db_dict,
-                status=juju_status_2_osm_status(delta.entity, new.workload_status),
-                detailed_status=new.workload_status_message,
-                vca_status=new.workload_status,
-                entity_type='unit'
-            )
+            if not new.dead:
+                await self.n2vc.write_app_status_to_db(
+                    db_dict=self.applications[application_id].db_dict,
+                    status=juju_status_2_osm_status(delta.entity, new.workload_status),
+                    detailed_status=new.workload_status_message,
+                    vca_status=new.workload_status,
+                    entity_type='unit'
+                )
 
             # set event for this application
             self.applications[application_id].event.set()