Add a copy of the updater binary to the recovery resources

* We may need to force the use of a compatible binary if the one
in the update package is suspected to be bad

Change-Id: I71505de51a9600c08ccfe8639385a7b2f2bfe2a2
install: Support downgrade scenarios

Android 4.4 changed the in-RAM format of the property data, making
update binaries built with older versions unable to read it. This
makes any attempt to read a property return empty, and fail any
prop-related assertions.

If we identify an attempt to run a binary that has a common pre-4.4
edify command ("set_perm_recursive") but not one of the new ones
("set_metadata_recursive"), assume it's a pre-4.4 binary and replace
it with a builtin fallback

Change-Id: Ic483c816d772c32266585b669f59c66e77afcebb
install: Fix possible overflow condition in the updater "scanner"

Don't just reset the position pointer after a failure, reset it
after a successful match too, to prevent a followup loop from poking
beyond the limit of the match arrays. (if matchmeta is hit before
matchperm)

Change-Id: I7842798597eb1aee79b4c770f1eeca131020483d
Merge branch 'cm-11.0' of git://github.com/CyanogenMod/android_bootable_recovery.git into cm-11.0