ota: Remove cruft we don't care about

Skip the date check (downgrade to your content), and don't include
recovery in otapackages.
5.0.0 update: We want the recovery patchstuff back
fix up ota_from_target_files symlink detection.
Allow override of device asserts, including multi-device support.

Set in board file with TARGET_OTA_ASSERT_DEVICE.
(cherry-picked from commit 0f452f21fc9323b9d1fe746161761cf40aaa5030)

Change-Id: I3d06bdc0e3e26bde0c0e646accd050364f9713b9
Modular backuptool.sh.  Executes backup and restore methods defined in arbitrary /system/addon.d/*.sh scripts.

* Copy backuptool.functions alongside backuptool.sh.
* Delete both from /system/bin as they are not useful there.

Patch Series
============
http://review.cyanogenmod.com/#change,13265
CyanogenMod/android_build
  * edify generator
http://review.cyanogenmod.com/#change,13266
CyanogenMod/android_system_core
  * permissions on /system/addon.d
http://review.cyanogenmod.com/#change,13267
CyanogenMod/android_vendor_cm
  * 50-cm.sh reference backup script
  * modular backuptool.sh
  * support backuptool.functions used by /system/addon.d/*.sh scripts

Change-Id: I26b4907d28f49c69627699d2accd2f0fa2d1b112
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
build: edify: use set_metadata for backuptool

Also use saner permissions on backuptool.sh

Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9
Store the base64 release key in the OTA zips

This can be directly grepped in pre-existing package.xml tables
to make sure we're not trying to update to a differently signed
build

Change-Id: I7528a8e7c484ea9209cd665b9263328ae834586a
Remove nulls from the edify generator.

These would break the scripts. WTF are they doing here?

Change-Id: I0c52335a27f7ae974279fde1c2461b2dba24d263

Conflicts:
	tools/releasetools/edify_generator.py
build: Only mount /system if not mounted

The commit on which this depends takes care of the mount error if /data
is already mounted during install. This commit takes care of the error
if /system is already mounted.

Change-Id: I97d0540676a7ce98762545e76ecb1a7f6335d204

Conflicts:
	tools/releasetools/ota_from_target_files
add support for custom releasetools
Add in missing files from a merge
Add SuperSU [2/2]

Thanks to chinfire's "How to SU" guide,
I've managed to get SuperSU zip flashing on every
rom flash and it can easily be updated in
vendor_aicp

Also Settings part merged in from OmniRom

PS2: Don't unmount /system, it gets unmounted
     from within superu.zip flash script

Change-Id: I0f57f8c2b8733021c3c0b9a5fd3c343ae565a959
Signed-off-by: LorDClockaN <davor@losinj.com>