Allow pre-configured device pairs to switch mountpoints

Original CM patch by Ricardo Cerqueira <cyanogenmod@cerqueira.org>,
message from commit dc8d157d73fb88ee33b38e724a8aabe7d5e53eee follows:

  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.

In Android 4.4 (CM11.0) vold uses labels instead of mount points in the
fstab files, so instead of ro.vold.switchablepair the property is named
ro.vold.switchablelabels -- this way both properties can be specified
and the same device tree can be used for pre-4.4 versions as well.