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