Only init legacy property environment once

Installing multiple pre-kitkat packages in succession may cause
legacy_properties_init() to fail. Only initialize the workspace once and
then just do path renames for all subsequent requests to enable legacy
props.

Change-Id: Ida528aca9322f77935411b270fdf182828abab8a
loki updates:

- fix fstat could fail on getting open partition size
- sync latest sources to support new devices
- match original loki upsteram sources
- fix all loki_recovery compiler warnings
- one binary for all functions patch/flash/find
- Makefile and Android.mk to compile new multi-binary tool or lib
Change-Id: I050a673f39b32136c817b69c00939818696e2c56
allow using custom recovery_ui.c

Change-Id: Ib89c3fc7783dcb384af0964892ce5b200f5433a5
mounts: add find_mounted_volume_by_real_node
this function finds a mounted volume by the real device node(resolved symlink)

Change-Id: Iff28cf7dd088f73248e23d99bf321f2bb61e1cc2
add basic support for native dualboot

Change-Id: I3808c5e77007d27311d7dfe0e3b1f52bc01a9794
allow changing menu color

Change-Id: I0b78c1ec93fc13796f49c275c308192cf744aa61
dualboot: add truedualboot support

Change-Id: I33dec96da48700307550be05807a6b78d5e8b08c
dualboot: add menu item under advanced to set bootmode
- also refresh dualboot entries everytime before calling 'get_filtered_menu_selection'
  to sync changes

Change-Id: I717cef001733d5edf1edea73ecc724edb1fd3fa2
dualboot: handle 'format_device'

Change-Id: I674608c2402f618502dee75148eb13b8836bb3e9
Version 6.0.4.8

Change-Id: I05cc1417f906cf2d3696bee457f4b095ee201a85
Fix verify_root_and_recovery menu selections

Because of the way default_recovery_keys.c is setup, hiding the back
button causes the POWER and SEARCH keys to no longer work as selection
keys.

- Remove old legacy unused code
- Keep the device_reboot_now API if one needs to use it
- Hide the Go Back button from confirm menu

Change-Id: I517690a7b9f85ccc778f2bb6acbf967c1416d1fc