Restructure the top level of VibrationThread to more clearly guarantee
execution of link/unlink pairs, and vibration completion callbacks.

Don't attempt to unlinkToDeath in the vibration thread's wakelock finally
clause. Instead, introduce one that's specifically for the death-link. Also,
catch the unlink exception with a wtf if it still happens.

Previously, the unlink would be attempted even if the link call failed.

Change-Id: I6a5214bf4d8da02b4894ec44a3b3379384d625c6
Bug: 198414755
Test: n/a
(cherry picked from commit ee627525134f11866a66c5f836963af8482c7187)
Merged-In: I6a5214bf4d8da02b4894ec44a3b3379384d625c6
2 files changed