New mount/format capabilities function for Mounts menu

This is largely a re-factoring of the code to populate the mountable and
formattable partitions on the "Mounts and Storage Menu". The if/else
logic is replaced by a mount/format capabilities function with
pre-defined logic for some fs_types and /partitions. This should be much
easier to maintain.

The original ro.cwm.forbid_format property is still supported, though it
is no longer necessary to include any of
 /misc  /radio  /bootloader  /recovery  /efs  /wimax
in the property as they are by default always excluded from the
mountable and formattable partitions.

A new property ro.cwm.forbid_mount is introduced to always exclude
partitions from the mountable partitions.

Example:
 ro.cwm.forbid_format="/firmware,/whatevs"
 ro.cwm.forbid_mount="/firmware,/blah"

Result:
 /firmware will be excluded as either mountable or formattable
 /whatevs will be excluded as formattable, but still is mountable
 /blah will be excluded as mountable, but is still formattable

Change-Id: Icfca984e2e25c82c1ddf67b6c32fd0473a8a0094
Enable perf mode only in tar(.gz) compress/extract wrappers

Performance mode is still enabled during install of update packages

Change-Id: I3256b9c93050f5240aa9b7c70211da7dcb53fb3a
Do not use performance mode during package install

this was causing a busy /system when usb cable is plugged in during install on some devices

Change-Id: Ief440ba3a32e9955a1244a9a93a5ac844176d13d
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
recovery: add overlay interface for recovery mode

Pan display needs FB allocation from driver and
since it is removed from driver, switching to overlay
interfaces in recovery mode. Basically forking out
the overlay and pan_display path in separate files.

Change-Id: I60f13e54befaa6da77e6c4d23399835509b41333
recovery: Add support for split display

Configure LEFT and RIGHT mixer separately
to drive high resolution display.

Change-Id: I3a3e6bffe6373caa991d9847dae6f2f4d8d20c48
recovery: Fix compilation for non MSM target

Make mdp5 version variable scope valid for non-MSM target.

Change-Id: Ib02c7d8f79c6d29e8f14b58810f628c3a80d416d
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
Fix overlay inclusion on MSM

Don't determine that target has an overlay if not using QCOM_BSP,
since most of the required functions will be dummied out

Change-Id: Ic2605baa00e629351bafa3f941c92f32d2155a4d
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
Fix mkfs.f2fs calling in roots

Change-Id: I4991732be70a7e9ae7e87fa1395e89b315717049
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
Fix recovery reboot command by adding the init sys.powerctl property control

Change-Id: I57c4c39135eb690340c933b5f696c70020f7b31d
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
Merge branch 'cm-11.0' of https://github.com/androidarmv6/android_bootable_recovery into cm-11.0