Status bar Auto-Hide [1/2]

Add an option to auto-hide status bar when there are no
notifications.

PS 2 : Improved Logic

Change-Id: I9f9fdb443f6ed981c1941716491cef757b42f8ba

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Fix and cleanup Expanded Desktop Mode

no need to call state and mode several times from provider settings.
Cleaned up.

Also fix for the ugly lockscreen gap on expanded desktop
mode 1 and 3

And fix that mode changes reflects directly to the screen if
expanded state = 1

cheers

Change-Id: I8cc0d936af270d72f2fb5c005a28c575576d894b

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Frameworks: Ehance toggleNotificationShade feature

allows to toggle notification drawer in any situations
on fullscreen mode as well in expanded desktop mode
and on all other features we have
cheers

Change-Id: I56185f2c48700d9f2d69c02585810db4e95e2e32

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
SystemUI: fix recents minimization animation

Splitting up the buttons into each class is cute,
but it only seemed to complicate its interactions.
The instantiation was wrong before anyways and
onTouchListener was never being registered
(which is why the animation was wonky).

Change-Id: I4194569aaf0099754852d5cfb83f308f3271008b
Signed-off-by: Roman Birg <romanbirg@gmail.com>

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/policy/key/ExtensibleKeyButtonView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/key/RecentsKeyButtonView.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/policy/key/ExtensibleKeyButtonView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/key/RecentsKeyButtonView.java