Abort NetworkScans when Phone Process Crashes

If the phone process crashes during a network scan, today
the scan hangs indefinitely. This CL adds a binder death
recipient to the wakefulness binder so that if the phone
process crashes, we detect it and cancel the scan.

Because there's no error code for "Telephony crashed" today,
the closest error code is to say that the modem is unavailable.

In addition, fix an issue where onError() did not actually remove
scans from the list of cached scans. This left dangling scan
objects in the cache after an error.

CRs-Fixed: 2679797
Bug: 155853346
Test: manual -
      1) start scan
      2) crash phone process
      3) verify error is returned to scan request
Change-Id: I8bd3823805fcc68623a685848517f2d11555e9c7
(cherry picked from commit e9d38721dbd3fc2e50ff7818555ccd2e9edcef2f)
1 file changed