PEEK: Beautify bridging layers code

* Save new instances for Peek and PowerManager:
    Create it only in BaseStatusBar when start() method is called. That one
    will be passed throught the sub layers such like new helper class so another
    feature can check Peek state invocking from NotificationHelper class.
* Move phone listener to new helper class.
* Do not show Peek on sim pin lock screen.
* Process new incoming notifications only if screen is off, keep updating notification array separately.
* General cleanup.

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Change-Id: I9efde073df35b92e42b9faa9930d2fc39b3a43b9

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
[1/2] Add support for Peek app

Disable built in peek when Peek app is installed. Enable it again on app's unistall.

Change-Id: I292cfa6ba351ac65fd67d902b5e4df9be29981ac
Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
PEEK: configurable pickup timeout (1/2)

- Allow the user to set different pickup timeout when a notification comes up through PEEK.

Change-Id: Ifcd2f13101dcf6973ebcf016bce5f5314e1ce04c

Conflicts:
	core/java/android/provider/Settings.java
PEEK pick up timeout: ensure stock value on clean install and also show summary of it (1/2)

- This commit fix a derp where Settings.Secure is called and not the right one: Settings.System
- Inlcude a settings observer for futures ideas

Change-Id: Ic449ada65820cb6c73a7867d1d287f837c37c221
Peek wake timeout (1/2)

- Originaly taken from AICP - Thath's why i'm keeping original autorship
- Allow user to set how long peek notification will hold screen on
- Minor changes by me @cristianomatos to match crDroid sources

Diff from original commit:
* Variable declared globaly and moved from inside the private void scheduleTasks() method
* Made multi user

Original commit: https://github.com/AICP/frameworks_base/commit/90b47fc55ec59520d6dd5dd828ff48a3a3dca1d4

Change-Id: I3a3c7e6f99edd9c861566b2d738d31e7657a0322

Conflicts:
	core/java/android/provider/Settings.java