Advanced storage: vold swap storage paths

Advanced storage settings patch series:
[1/4] vold: allow swapped storage paths at vold init
      http://review.cyanogenmod.org/56515
[2/4] Advanced storage: vold swap storage paths
      http://review.cyanogenmod.org/56516
[3/4] storage: allow swapping primary storage for apps
      http://review.cyanogenmod.org/56950
[4/4] Advanced storage: swap primary storage for apps
      http://review.cyanogenmod.org/56951

This adds an "Advanced storage settings" menu item under Settings >
Storage with a new option "Swap vold primary storage". Enabling this
option remaps primary storage to secondary and vice versa when vold
initializes.

The implementation is a hybrid of David Hacker's "Add setting for Vold
Switchable Pair (2/2)" [http://review.cyanogenmod.org/48390] and Ricardo
Cerqueira's "Storage: Allow user to choose internal storage"
[http://review.cyanogenmod.org/12858].

Change-Id: I9461b65a8d3afb51c3dbe706687b81bd5f8c920c
Advanced storage: swap primary storage for apps

Advanced storage settings patch series:
[1/4] vold: allow swapped storage paths at vold init
      http://review.cyanogenmod.org/56515
[2/4] Advanced storage: vold swap storage paths
      http://review.cyanogenmod.org/56516
[3/4] storage: allow swapping primary storage for apps
      http://review.cyanogenmod.org/56950
[4/4] Advanced storage: swap primary storage for apps
      http://review.cyanogenmod.org/56951

This adds a new preference to Advanced storage settings to swap the
primary storage path used when applications call getExternalFilesDir().
Whereas the original vold swap trick cannot be used when primary
storage is emulated, this setting can be applied to either emulated
or non-emulated storage. Only one of the two primary storage swap
methods can be active at a time.

This option is currently restricted to a secondary storage device
located at /storage/sdcard1 to prevent swapping with not-so-permanent
devices like usbdisk.

Inspiration for this storage swap method comes from Martin Meloun.

Change-Id: I5eb31735baeb8e356f94cc1b87fa9618023db8ce

Conflicts:
	res/values/cm_strings.xml
	res/xml/advanced_storage_settings.xml
	src/com/android/settings/deviceinfo/AdvancedStorageSettings.java
	src/com/android/settings/deviceinfo/Memory.java