add support for building flashable kernel zips

choose device from lunch menu then enter make bootzip, builds flashable boot.img with updated source ramdisk

Change-Id: I07820d5e5e48d5b973901ed2bb3f330744c6498c

make bootzip: add support for loki patch

patchset 2:
   whitespace
Change-Id: I4a757f7483e3bea1b4dad981f8236bb9551e9eca

make bootzip: convert bash to python

Change-Id: Ie5d3e6d07df7f46df3717b9203b6f70edf208cb1
build: get rid of the sparse expand stuff

* i don't see a reason why we are doing this because we never deal
with flashing system img rawly
* This will put useless write on ssd..
* we don't have space on ssd

Change-Id: Icd53d161b8515f5eca238b98ad68515d69caa34f
Generate extra userdata partition if needed

* To support variants of devices which may come in 16/32/64GB variants.

Change-Id: I74c32d8316f0450a1445fe95a95e5cabb7a9dd1b
Merge remote-tracking branch 'legacy/kitkat' into legacy