fb: add back all keyboard IME features back (1/2)

this commit adds:

- ime switcher notification - thanks cm
- slims fullscreen disable on landscape
- slims force autorotation on IME
- volume button control for navigate in the message - thanks cm
- slims force to show always enter key

some fixes to the 4.2/4.3 implementations + added full multiuser
support for all this features

cheers

Change-Id: I71e93c39620cc171e658b2d7e26491bac97c651d
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	core/res/res/values/slim_symbols.xml
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
Allow creating custom dialogs in DialogPreference.

This allows creating non-AlertDialogs while still using the click and
state handling of DialogPreference.

Change-Id: I54fd7d6d6b9f6a49fef1ae95e0178838b3edfa56
Settings: add methods to put and get boolean values

Change-Id: Idc3e12d438bdbeb3619af3678875d66774082537
Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
Signed-off-by: iceandfire <arhamjamal@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java
Suppress String resources build warnings

warnings suppressed are:
aapt: warning: **** string '%s' has no default or required localization for
aapt: warning: string '%s' has no default translation in

Patch Set 2: move ifdef and only suppress warnings for packages that
             define NO_DEFAULT_TRANSLATION_WARNINGS and/or
             NO_LOCALIZATION_WARNING

Patch Set 3: by default do not show warnings unless
             SHOW_DEFAULT_TRANSLATION_WARNINGS and/or
             SHOW_LOCALIZATION_WARNINGS

Change-Id: I50ef2a623959a1cc53053b446328df8e34cc99e8
base: Add a key combo to start/stop video recording

Press volume up and power to start recording a video of your screen.
Press this key combo again to stop it.

Change-Id: Id0b13ba1092a1d6e0bf7bff5f14d89764cdf370c
Signed-off-by: ChampionSwimmer <championswimmer@aokp.co>

Conflicts:
	packages/SystemUI/res/values/custom_strings.xml
Screenrecord: Create the Screenshots directory if it doesn't exist

Change-Id: I2b0458eed024dbda97e9e1ea3426c12d29add781
Keyguard: fix statusbar lags when default widget shown.

When statusbar became expanded KeyguardStatusView receives
onKeyguardVisibilityChanged callback and refreshes ClockView.
Because it receives more than one call and every time it reads
new values from resources it cause lags in opening statusbar panel.

Replace this code with BroadcastReceiver and ContentObserver to
refresh it only in case something was changed.

Change-Id: If0dbc1db059536806852661931cb2e6436f2acf4