Lockscreen Notification (1/2)

* Fix for hardware key devices
* handle exception that cause force closed

Squashed commit of the following:

commit 8dc3e897f963bc0fd36671c83c662a4e18771a44
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sat Apr 5 12:36:49 2014 +0800

    LockscreenNotification: update GC

    Change-Id: Icb921e525e18c7dc95c4e6968bd4987d9e6f23c2

commit f47767f5372239f97213ae37748af603eff0db38
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sat Apr 5 12:22:05 2014 +0800

    LockscreenNotification: default is off

    Change-Id: Ia1c723c5b4eba0d72c0126d1296c28c54986c3a5

commit f70ee349ad87977af15c06ec0cef483a7b3a9123
Author: xilence2210 <xilence2210@gmail.com>
Date:   Tue Apr 1 12:55:48 2014 +0800

    LockscreenNotification: update default value

    Change-Id: I3e1bb4d089615a2cbbeddbe313dc35cc9a3caa0c

commit c618b0a1ae9bc523b79d3d09461f21289959a2a6
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sun Mar 30 20:20:58 2014 +0800

    LockscreenNotification: Catch security exception

    Change-Id: I468e389d15a0ee0f1a7a5f00e9291c4fafccc31b

commit 74625663494ff01b88038d2a8be9eab7561e0f6e
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sun Mar 30 19:01:39 2014 +0800

    Lockscreen notification: Fix fc on hardware key devices

    Change-Id: Ia6cc3a4b758174fd8eb423b0e01b1e3e1aad2eae

commit e7c89042d84fedbc784b817d321d524924233a16
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sun Mar 30 11:27:24 2014 +0800

    LN: Enable dynamic width by default

    Change-Id: I9f612105b75eacffacecb7678bc1f38ea1add200

commit 55e4cb54281be3fae7b232b355865e03ef9eb170
Author: xilence2210 <xilence2210@gmail.com>
Date:   Sun Mar 30 11:13:38 2014 +0800

    Lockscreen Notifications: derp

    Change-Id: I5cdb0525a691c61d649cc5a42eeeab57d3e495eb

commit b6211e4f27de4f354b1185b439e3d6f2eeb8a821
Author: David Leppla-Weber <xD_e-mail@gmx.de>
Date:   Tue Mar 18 16:45:14 2014 +0000

    Lockscreen Notifications: some fixes

    Change-Id: I634669f05bb94c4cb302c85189c5a4f6d554eb3e

commit 9fe2adab1f2dbdc16978f628b78148d6f00f814f
Author: David96 <xd_e-mail@gmx.de>
Date:   Sat Feb 1 17:56:38 2014 +0100

    Lockscreen Notifications [1/2]

    My try on making notifications easily accessable from lockscreen.
    Credits to ChameleonOS, I got the notification listener permission and some small other stuff from their ActiveDisplay implementation.

    Lockscreen Notifications allow you to manage all your notifications directly on the lockscreen.

    Features:
    - Pocket mode turn screen on when phone is pulled out of pocket and turn it off when phone gets back in pocket
    - Hide low priority notifications
    - Hide non-clearable notifications
    - Allow dismissing even non-clearable notifications from lockscreen
    - Just turn screen on when there's currently a notification pending
    - Toggle between expanded and normal notification view by longpressing
    - Wake on new notification
    - Configure notification count displayed at once
    - Privacy Mode: disable showing notification content.
    - Blacklist apps - thanks to ChameleonOS for the original implementation and @Der-Schubi for bringing it to lockscreen notifications
    - Show all/dismiss all button

    This should still be considered as beta, even if it seems to work very well for me.

    Overlay setting:
    dynamic width is disabled by default, to enable it for a specific device, add
    <bool name="config_lnDynamicWidth">true</bool>
    to yourdevicetree/overlay/frameworks/base/packages/Keyguard/res/values/config.xml

    Change-Id: I12a907db13de070e9aeb716cc03fdc14d01630b3

    Conflicts:
    	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
    	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
    	services/java/com/android/server/NotificationManagerService.java

Change-Id: Ib80f75a93b0545856b3120a9d536eb2008bd039a