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
Merge pull request #1 from NovaFusion/cm-11.0

allow to install from any recovery
Merge pull request #1 from PedroMCostaAndrade/cm-11.0

Sync with cyanogenmod