Frameworks: fix possible NPE + and missing expandable panel

Steps to reproduce for NPE:
- go into volume style settings
- switch to disabled
- switch to expanded
- NPE and hotreboot

Fix:
Check if mStreamControls is initialized and if not lock it and do it.

Steps for expandable error:
- go into volume style settings
- switch to disable
- press one time the volume button
- change to expandable
- change the volume and press the expanded icon
- result is it does not expand and is empty due of the missing volume panels.

Fix:
- if it was changed from disabled to expanded be sure that the additional volume panels
are recreated.

PS:
- fix another exception

Change-Id: I58d63d34f831b6a6f60f6eddb3a07fc916d464f3

Conflicts:
	core/java/android/view/VolumePanel.java
Frameworks: SlimRecents make it RTL/LTR aware + scaling + lefty mode (1/3)

This commit adds several features:

- Make it fully RTL/LTR aware. Means it shows up on the oposite side if an RTL
  language was choosen. As well icon, textposition, menu etc follows RTL direction.
  So like AOSP guidelines suggest it is fully compatible now for all locals

- Add scaling mode....user can scale the overall size down (especially for the
  user with stock dpi requested)

- Add lefty mode. Recent panel shows up on the left edge instead of the right edge

As well this commit unlinks the construct of the card with the update of the content. This
reduces one update call on construct and gives a tight faster loading.

Change-Id: I4c5105f86644a08da81861851da7e0e347c26244

Conflicts:
	core/res/res/values/slim_symbols.xml
	core/res/res/values/styles.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/res/values/slim_strings.xml
	packages/SystemUI/res/values/styles.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/cr_styles.xml
	core/res/res/values/cr_symbols.xml
	packages/SystemUI/res/values-pt-rBR/cr_strings.xml
	packages/SystemUI/res/values/cr_dimens.xml
	packages/SystemUI/res/values/cr_strings.xml
	packages/SystemUI/res/values/cr_styles.xml
	packages/SystemUI/res/values/custom_colors.xml
Frameworks: add favorite mode

Allow user to set favorite apps in recent task list. User can set them with
longpress on the app icon. This apps are always shown in the task list above
the first default one (on phone the first 2 which always show the last 2 active
tasks). Favorites are shown in order of last time they were called. Favorites
settings are saved permanently till the user removed it from favorites.

As well this commit fixes the wrong icon if an package has more then one
activity to call (eg Google+ and Google Photo).

Using for all now a unique identifier.

Change-Id: I3cd7dd6600389c73e678f382377b441612902833

Conflicts:
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/res/values/styles.xml

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/cr_styles.xml