Frameworks: bring navring/pie/navbar vibrate/sound inline with AOSP

currently all 3 features are doing it a bit different. For navigation
AOSP has for normal click:

 short soft vibrate + click sound

for longpress

 no sound but more intensive vibrate

This commit does:
- seperate keyevents haptic and sound from the other actions and call them
- add vibrate and sound to navring
- navbar only vibrate when the action is performing
- do not use custom vibrate on keycodes
- bring all inline with AOSP like described above
- fix a possible NPE on lockcreen

not solveable (do not ask me...google is not always consistent especially
on keyevents) due the change will break other global behaviours:
- menu button always have a click sound even on longpress.
- powermenu always have a second vibrate due of GlobalManager

all other works inline like described

Change-Id: I90fae2393c5c654055014556b0772447313d28b4

Conflicts:
	core/java/com/android/internal/util/liquid/LiquidActions.java
	packages/SystemUI/src/com/android/systemui/SearchPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java
Frameworks: add DeviceSupportUtils helper class

adapted partly from cm (thanks) + own modification for our needs.
Currently unused but there will follow a bunch of commits which will
use it next days

Change-Id: Ifc0c1353e1d65ead000d07e2eab2ed7d8eaa1894
Refactor the last commit