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
drivers/staging/zram: backport zram from 3.7 kernel

All commits up to:
  zram: Fix deadlock bug in partial read/write

Conflicts:
	drivers/staging/zram/Kconfig
	drivers/staging/zram/zram_drv.c

Conflicts:
	drivers/staging/zram/Kconfig
	drivers/staging/zram/xvmalloc.c
	drivers/staging/zram/zram_drv.c
drivers/staging/zram: adapt to 3.0 kernel