[1/2] Forward port power connect/disconnect notification support

Original commit info:

    [1/2] Power connect/disconnect notification support

    part 1/2: frameworks/base PowerUI and Settings
    http://review.cyanogenmod.org/#/c/35241/

    part 2/2: packages/apps/Settings Sound settings
    http://review.cyanogenmod.org/#/c/35242/

    Change-Id: I36a6b9f924d2cd52191a8e83a744745b37c5b068

Change-Id: Ib865e1c296cb8e1d957b2a48616c88ceaba5c008
Reimplement expanded desktop on top of immersive mode.

Change-Id: I8ed08afebef0bb08a2694b1dbdd6dd1887b5b065
SystemUI: fix RecentPanel position in landscape mode.

In landscape mdoe we forcing ltr layout direction. This cause
call to resolvePadding too late and discards paddings
computed by fitSystemWindows. To workaround this we can catch
onRtlPropertiesChanged and force executuin of fitSystemWindows
one more time. To fix scroll issue after padding will be setted
we calling scrollTo with correct position.

Change-Id: I0ac10ac3554142b15114ce7588b61debda27235a
SystemUI: fix recents animation in expanded mode.

Change-Id: I63b83763933468c4f1953341aad4317d142e8bb4
NavigationBar : Customization

Includes:

- Allows user to customize navigation bar.
  Features :
   - Choose from 1-6 # of buttons
   - Re-arrange / assign buttons
  Id: Idc9f5f401f15d207504e49de47666bb5510a06ca

- Navbar : Rework logic for determining orientation
  This patch introduces better checks for hybrid ui's.
  This should fix issues of small buttons due to incorrect ui determination
  Thanks Rolf Arne Schulze for testing :)
  Id: If5b61dc4764a98deedb5b801d11451fed2488cba

- Make navigation bar ready for per-user configuration.
  Also clean it up a bit.
  Id: Ic10bd161fce53bf30048a0cb927dcf1e2bfa7774

- Fix layout on N10
- Remove uncessary padding and logic
- Phone fixes
- Phone padding fixes

Change-Id: I8903b85b6ee8581f8564d9dc7b0d40f645d7647a
framework/base: Add EdgeGesture service.

Based on code of PieService.

Change-Id: I053737e36340a5ec6814b21eb87575f9689c7e88
PhoneWindowManager: add ability to use Pie service for system gestures.

Change-Id: Id4e2c0d82f771cd1c20e9196fb6db347494cca69
Keyguard: smooth background change.

Change-Id: Ia0e4d0000db72b5cdb6fede03791805e34fa311d
Show panels on lockscreen in expanded desktop mode.

Change-Id: Iaa2d712130707169c7a08156f8ea5afc247fc4cf
SystemUI: update internal state right after hiding transient bars.

Change-Id: Ibcdc45bbf1ce8561fae50f1e026552dbcbcc80ae
SystemUI: do not collapse panels if keyevent was canceled.

Change-Id: I9af82e9fa2305142521075938dfd05521adeb9f4
SystemUI: Fix missing top task in recent panel.

If preloadRecentTasksList was not called or was called too
late and RecentsActivty already started and last top activity has
excludeFromRecents flag setted it might be missing
from recent application list.

Change-Id: Idf7153824805ceea9fcaf04ac645b73a5e93a4d9
data usage cycle length

you can choose between daily, weekly or monthly data usage cycle

Change-Id: I0b49fae2353ed1443f4be3d3aa780d11d0400948
SystemUI: Update adb over network icons to kitkat colors

Change-Id: I11f61bb8f4f5f91fd6b5437b1c4ba1f479ee4ae3
Framework : Lockscreen - Customizable shortcuts

Forward port lockscreen shortcuts

Change-Id: Ic3b935df5c0da35f31373d96943e442dc39cf11b
Keyguard: disable music transport control debug

Change-Id: Ia4361d0850334dc0944559c40409c9062cf02e47
SystemUI: Navigation Bar: Rotate the search light in landscape

The current search light icon is an arrow pointing upwards, so
while in portrait it points to the direction to be swiped to access
Google Now (and the customizable shortcuts), in landscape it points
upward as well which looks out of place, and swiping upwards reveals
that you have to swipe towards the left to access those targets.
Rotate it by 270 degrees to make it point towards the right direction
(i.e. Towards the lockscreen widgets)

Change-Id: I19670fdb1f5ab7814c05264330cb8097a206639a