Backported ZCache mechanism from Linux Kernel 3.9.11

Conflicts:
	drivers/staging/zcache/Kconfig
	drivers/staging/zcache/tmem.c
	drivers/staging/zcache/tmem.h
	drivers/staging/zcache/zcache-main.c
Adapt ZCache from kernel 3.9 to kernel 3.0
fixes from last commit
Backport Frontswap frontend mechanism from kernel 3.9

Conflicts:
	mm/page_io.c
Backport cleancache from kernel 3.9
allow older fast charge (set force_fast_charge to 2)
 Reduce the RAM used by the GPU as Frame Buffer.

1280x720x32bitsx3buffers (tripple buffering) equals to less than 11MBytes.
So, some more MBs of RAM are back to the user.
--- mpokwsths
added adaptive governor
interactive variables
ram oc
Merge branch 'SmittyV' into DirtyV
Revert " Reduce the RAM used by the GPU as Frame Buffer."

This reverts commit 379d2a1669f8bce9005d16222320454ac33fc130.
defconfig
config update
Merge remote-tracking branch 'dirtyv/DirtyV' into android-4.4