Hover: dismiss to left remove from all (status bar and notif drawer) and from right only from hover

Partialy ported from SlimKat Heads up idea with a huge thanks to @kufikugel.
A boolean is used to determine the dismiss direction and further dismiss the notification completely or only from hover.

Change-Id: Iba7c1841ffaec360d204dc3326f24e91fa1a4310

Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/notification/HoverLayout.java
Remove unnecessary explicit GC in ZygoteInit.

Removes > 1s of GC time and hundreds of GC during device boot.

Zygote size before: 8388608
Zygote size after: 8388608

No increase in zygote space size due to zygote compaction.

Bug: 16398684

Change-Id: I3c6f5a0b26a207ab39bb0a952400d7488e42f00c
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	core/java/com/android/internal/os/ZygoteInit.java
hwui: Fix a sporadic crash seen during CTS runs

 * It's possible (due to race conditions) that a patch might be
   scheduled for removal twice. Just print a warning and continue
   instead of asserting and crashing.

Change-Id: I42865f6717816a743cc49ba15b839e6c3b57ed83
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	libs/hwui/PatchCache.cpp