UsbDebuggingManager : Handle race condition when toggling rapidly

When toggling adb enable/disable rapidly, you can have the situation where the thread's
run() gets invoked but mAdbEnabled is already set to false, hence listenToSocket() never even
gets invoked in which case mOutputStream/mSocket are both null. This patchset adds checks
around that.

Change-Id: Iba56e7409435e22d690432fa663bc0a04a1a447d
Don't cleanup overlay mapping for non-theme apps

mOverlay structure should keep all app/theme mappings even
if the app does not exist. Otherwise we will have to insert back the mapping
for every app that is installed which would be time consuming.

Without this patch an upgrade app loses its applied theme
until the device is rebooted.

Change-Id: Id02b8e0a3bdd78d1a9d39cd38294c584ef95f8db