Remove (un)mount option for datamedia partitions

When /sdcard is /data/media, it can be formatted but it cannot be
mounted/unmounted independently of /data (aside from creating or
destrying the symlink). This removes /sdcard from the mountable
volumes list, but leaves it as a formattable partition.

Change-Id: If59e4516a12da4589ffb0dbd19702f219260370e
Fix compiler warning: redefinition in extendedcommands.c

ITEM_APPLY_SDCARD is already defined in recovery_ui.h, fortunately
also as 1.

This suggestion comes from Phil3759.

Change-Id: I9ac370ca9640d61b6b96f60954d35f7aa458d75b
recovery: Fix adb backup

Using http://goo.gl/6AQ3u might fail. The resulting backup
consists of a tarball of the filesystem being backed up,
but it might end up truncated, for reasons yet unknown.

Issuing adb backup data, for instance, causes recovery to
call tar, streaming it's stdout <a> through a socket <b>.
The adb client reads from <b> and copies what it to the
final backup file.

Somehow, sometimes, not all the content generated at <a> is
read at the adb client, which causes a truncated tar file
to result. I'm unsure why this happens: Doesn't <a> get
flushed before <b> is closed? Or is it that <b> is closed
with outstanding data in its buffers, which never make it
to the other side?

Either calling sync() or sleep() seems to remedy the issue,
but I'm not sure if sync() has any effect on sockets or
pipes. I also understand that sleeping for some time is not
the best solution to a race condition.

Therefore, I'm adding calls to sync() and sleep() and
waiting for reviews from someone who knows better how
these calls work.

Patch set 2: Remove sync() call

Change-Id: If4733066fdad809eb73e87c670f37acc4debe82d
Fix the potential segmentation fault

Extral newline can trigger recovery segmentation fault
Test case:
host$ adb shell 'echo -en "--update_package=ota_update.zip\n--show_text\n\n" > /cache/recovery/command'
host$ adb reboot recovery

Change-Id: If1781c1f5ad94a273f1cb122b67cedd9fb562433
Signed-off-by: Jin Feng <jin88.feng@gmail.com>
Fix falling back to system mount command will fail when callin ensure_path_mounted(filename)

If filename is not the mount point, this will miserably fail to mount
exp: Bug will be revealed when using fstype2=auto for external_sd and trying to ensure_path_mounted("/external_sd/path/to/filename")
This fix also takes into account when checking sdcard marker in edifyscripting.c to ensure mount /emmc to /sdcard if needed

Change-Id: Ib7562e9f159a4792be6d44d833e607fc7a6c94ca
move "install zip from sideload" to installation submenu

Change-Id: I99e7389062ffdd9116a3bd7b4ae1cbb7dae151b8
UI: Add power off option to menu

Change-Id: I367d74c3cbe5670ed5480a68ed271643a1303ebe
Add multi-zip flash menu
zip files must go under a subfolder in clockworkmod/multi_flash folder
first we look in external sd, and if needed, in internal sd
Additionally, add no_files_found to better handle return info from choose_file_menu()

exp: /sdcard/clockworkmod/multi_flash/My_ROM_Set/zipfiles.zip

Change-Id: Icb591ad5e404bd7f8ef2d913a01af40bb2e3020c