WifiNative: Ensure we have a consistent death handling mechanism

All of the lower layer daemons should have a consistent mechanism of
handling death notifications:
a) First clear any internal state.
b) Then trigger external death notification. (This may trigger more
cleanup from WifiNative)

Bug: 73496702
Test: Existing unit tests
Test: Integration tests added for crash still works.
`act.py -c wifi_manager_cross.config -tb dut-name -tc WifiCrashTest`
Test: Ran WifiManagerTest & WifiSoftApTest ACTS tests locally.

Change-Id: I90340ea2b1e31ffae7c47fd125a45240fc58b9bc
3 files changed