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
Implement the repodiff command

Change-Id: I98e3368249e46bf7106b79e41ec821fa560be956
Use less heap space for dex on 32-bit build hosts

Run dex with -JXmx1024M instead of 2048M if running on a 32-bit host.
Surprisingly this appears to also work for framework and services; if
not, a little fine-tuning will be needed.

This does not change anything for non-32-bit hosts.

Change-Id: I1d87c3e394acc934af6f7770ea54ba265a1df838
update ota_from_target_files to handle mounting/unmounting for backupscript

backupscript should not be mounting/unmounting itself as it makes other
scripts have unexpected results (such as modelid_cfg, which expects /system
to be mounted)

instead have the ota script handle the mounting/unmounting

Change-Id: I94511f4147c624d975cb3ecbeaa8b0e98f63437c
envsetup: Add some more commands

 * mmp: Like mm but pushes the built files afterward.

 * mmmp: Like mmm but pushes the built files afterward.

These may be useful when doing debugging on a individual library,
since it builds the library and pushes the new library to the device.

Examples:

mmmp -B device/samsung/vibrantmtd/libgps
mmmp -B packages/apps/Torch

Thanks: tpruvot for revisions

Change-Id: Ia6bdd2b63797ea86e164af69496b70ea6d7c5156