Refactor the VDM locks

Basically never call outside the class while holding a lock

VirtualDeviceManagerService:
 - utilize the virtual device snapshot in more places
VirtualDeviceImpl:
 - use a separate lock for mIntentInterceptors - holding mVirtualDeviceLock is actually completely unnecessary there
 - use a separate lock for PowerManager and related fields to avoid a deadlock (PowerGroup's constructor actually calls VDM)
 - This allows to call PowerManager without mVirtualDeviceLock


Change-Id: I8ba16564053779e5cbe46bb89658fe55ab28777a
Fix: 394534258
Test: presubmit
Flag: EXEMPT bugfix
2 files changed