build: Add support for extra kernel build variables

 * This allows specifying a variant defconfig, and an selinux defconfig
   which are simply configuration fragments.

Change-Id: I97882ae3b8c2e16ff6a7dce8dd3a70d70f8aa866
Changes required to make Semaphore kernel work on Aries devices

Automate source ramdisk selection

This commit automates the process of selecting
the relative path for custom kernels

To make this change apply on your device include

TARGET_KERNEL_CUSTOM_RAMDISK := true

in you BoardConfig in device or common folder.

Thanks to Manfred for the idea!

Change-Id: I0e6bb148097120a828fecd4427e863787d944915

Fix multiple builds

Change-Id: I6414fbf877a019278d40f11d2cd6489216d36e85

Automate HUGEMEM kernel config

Automate the process of appending HUGEMEM config
param to the kernel defconfig. This is required for sgs
series kernels i.e., semaphore variants.

Change-Id: Idbb45775456c7da13bd2ece21057a2d6ffbe48dc

Big thanks to team SlimRoms for this!