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 branch 'cm-11.0' of github.com:CyanogenMod/android_bootable_recovery into cm-11.0