cot: ORS support (DO NOT MERGE)
ors: minor cleanups (DO NOT MERGE)
ors: fix code fails (DO NOT MERGE YET)
recovery: add libcrecovery

This is modified for use in both C and C++ environments.
libcrecovery: finish adding it
cot: include libcrecovery
cot: extern C libcrecovery
cot: libcrecovery is already extern'ed
recovery: lets just make it available here too
roots: add needed functions for ors
cot: can't do this in c++
cot: need a wrapper for erase_volume
cot: disabling ORS zip flashing for now
Attempting to enable an untrusted package install option, menu does not display...
Merge branch 'cm-11.0-dev' of github.com:ProjectOpenCannibal/android_bootable_recovery-cm into cm-11.0-dev

I have not reviewed the ORS changes it's possible that the last commit may break them.
fix unnecessarily slow writing of EMMC partitions

These were attempts to write partitions "conservatively" in hopes of
fixing the problems with writing the radio partition on Nexus 4.  They
didn't work (a kernel patch was needed), but got left in.  They make
writing of partitions unnecessarily slow (ie, we really shouldn't need
to sync() after every 4kb).  Roll back most of them, but leave the
verification read-back in.

Change-Id: I94badc0979e88816c5aa0485f6316c02be69173c
Don't abort on read_file if the file is missing.

Change-Id: I85726bf736203d602428114145c3b98692580656
sr: Fix overlay issues

 * Implement double buffering with no memcpy for overlay mode.
 * Move the split display check to the right place, so that the
   sysfs node is actually initialized on initial startup.
 * Cleanup code.

Change-Id: I6d8b249e8ada80fd1a9f83f2e8ca1f762cb78ae5
sr: Fix sideload error paths

 * Stop sideload and re-enable adbd when cancelled from UI.
 * If sideload file is not found, return INSTALL_NONE.
 * Treat INSTALL_NONE as neither success nor failure.

Change-Id: Id4cc0939bad4235fa3b289465c34bc04458dc2e2

Conflicts:
	adb_install.cpp
	adb_install.h
	recovery.cpp
sr: Fix overlay harder

 * Use feature test macros instead of QCOM_BSP/MSM_BSP macros:
   - All QCOM targets require overlay and ION.  Remove stub funcs.
   - Split display is detected via MDSS_MDP_RIGHT_MIXER.
 * Alloc ION with ION_SYSTEM_HEAP_ID, as older devices don't have
   ION_SYSTEM_CONTIG_HEAP_ID defined.
 * Put gr_draw back in .bss, it does not need to be on the heap.

Tested and working on p930, mako, e980, find7

Change-Id: I1ec1a70b5d3cb40ee29ad5ae556399bf48bd825b