Themes: Only process themes that are applied during boot

Currently, the PackageManagerService will process all themes and
ensure their resources are compiled and available to the system.
This is highly inefficient and can bog the system down when booting.

This patch will only process the themes that are currently applied
durring boot and lets the ThemeService take care of queuing up the
others for processing.   This reduces boot time considerably,
especially when the user has many themes installed.

Change-Id: I52168a1751ad3bfc458048dd1558ad71cc16317a

Conflicts:
	core/java/android/app/ApplicationPackageManager.java
	core/java/android/content/pm/IPackageManager.aidl
	core/java/android/content/pm/PackageManager.java
	services/java/com/android/server/pm/PackageManagerService.java
	test-runner/src/android/test/mock/MockPackageManager.java
SystemUI: Do not use missing status bar icons

This commit simply makes sure the status bar elements that are not
found are not interacted with. The battery indicator icons were
already partially taken care of so this commit simply provides
a more complete safeguard.

Change-Id: Ic9cd154caf29d27f93a3c5c0598a826eb31165bf
Merge "Themes: Only process themes that are applied during boot" into kitkat
Merge remote-tracking branch 'pa/kitkat' into kitkat

Conflicts:
	core/java/android/app/ApplicationPackageManager.java
	core/java/android/content/pm/IPackageManager.aidl
	core/java/android/content/pm/PackageManager.java
	services/java/com/android/server/pm/PackageManagerService.java
	test-runner/src/android/test/mock/MockPackageManager.java
Merge remote-tracking branch 'upstream/kitkat' into kitkat