Fix ResourceNotFoundException when updating  applied theme

If the user has a theme applied and there is an update to that theme,
then the themed apps will crash. This is because the theme's APK path changes,
but the apps do not update their resources. Apps were not updating their resources
because updateConfiguration() determined that the config (which only has pkgName) hasn't changed.

The problem is fixed by first applying the default theme config and then re-applying the
updated theme.

SystemUI was crashing with a NPE while verifying this fix, so a NP check was added to SystemUI as well.

Change-Id: I00e32fc1535b4d279fcb37c35f868501ecc1dd19
SystemUI: allow for the clock to be centered (1 of 2)

This allows the clock to be centered and does
not break the normal functionality of the status bar.
Overflow for status bar icons is adjusted accordingly
when the clock is centered. The clock slides in/out
when centered and the ticker is running.

Change-Id: I8bb99af278d316d7632cd07ff5c4722c5a27cb12
IconPackHelper: Respect the original size of bitmap icons

When use icon packs on low-resolution devices, for example, my HDPI
phone, it seems that using the size returned by
getLauncherLargeIconSize() will cause a blurness on
some icons that are not included in the icon pack because of the compose
function.

This patch respects the original size of the icon if the icon is an
instance of BitmapDrawable but use the size returned by
getLauncherLargeIconSize() if the icon is an instance of PaintDrawable.
This will remove icon blurness on low-resolution devices.

Change-Id: Ifcb39020d934a9c7cb409e1206a179d64f99aa37
Merge remote-tracking branch 'upstream/cm-11.0' into cm-11.0

PS: THIS MERGE REMOVE THIS COMMIT: https://github.com/CyanogenMod/android_frameworks_base/commit/36672e70e1d28d54c584f5e5ec978392381d0027
    crDroid already have this for a long time ago

Conflicts:
	packages/SystemUI/res/layout/status_bar.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/IconMerger.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java

Change-Id: I8e57cd78d246dcab90fd6ce4a9ae9934a79c7373