vold: Allow pre-configured device pairs to switch mountpoints

The use-case for this are devices with internal extended storage
(pseudo-SDCard emmc) and an actual microSD card reader.
In CM, we choose to use the microSD as primary storage, and leave
the internal partition mostly unused; some users usually come up with
imaginative and data-destroying ways of working around that.

This allows us to specify a pair of mountpoints which can be
switched from a user preference. For this vold.fstab:

-----
dev_mount sdcard /mnt/sdcard ...<path-to-microSD-sysfs>
dev_mount emmc /mnt/emmc ...<path-to-emmc-partition>
-----

We can add to build.prop:
"ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc"

A persistent toggle (persist.sys.vold.switchexternal), controllable
through CMParts, can be presented to the user to allow choosing
something other than our default as primary storage.

Updated to 4.4 by @Dazzozo.