Backport vnswap/frontswap/zswap. problebly broke stuff that il fix later

Conflicts:
	drivers/staging/Kconfig
	drivers/staging/Makefile
	include/linux/swap.h
	mm/page_io.c
	mm/shmem.c
	mm/swapfile.c