wcnss: Pre-alloc memory for WLAN driver

WLAN driver will use this pre-allocated memory (when available) for
large memory allocations; this will prevent WLAN driver load
failures because of the un-availability of the large size slabs
during module load.

Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
(cherry picked from commit 24db5288a9f82ced747746a2064a60f368ea6646)

Conflicts:

	drivers/net/wireless/Kconfig
	drivers/net/wireless/wcnss/wcnss_wlan.c
	include/linux/wcnss_wlan.h

Change-Id: I0fe2866e240f0fefc4063a6aff3e9d73570b2c99
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
Signed-off-by: Steven Barker (lilstevie) <lilstevie@lilstevie.geek.nz>
Changes to restart.c allow rebooting to different modes
including recovery and fastboot.