DO NOT MERGE Fix flaky tests in OverheatAlarm feature

TestableContext may be null that impact TestableSettingsProvider assert
fail in clearValuesAndCheck()

TestRunner could run in multiple thread, that could meet thread
asynchronization issue to meet flaky test

Tweak TestCase implementation to avoid flaky SystemUITests
1. Remove unnecessary complex testCase such as popup overheat twice
2. Reduce the life cycle of static singleton instance
   Mock Context for OverheatAlarmController
3. Implement tearDown() in PowerUITest to free PowerUI instance

Change-Id: I865bd0b53636a8bbd54fc3ca447b5b035207669c
Fix: 121351779
Fix: 122535130
Test: Build x86 emulator and manual run atest SystemUITests for
rundreds of times
4 files changed