vold: Allow specifying the filesystem type when formatting

 * Optional parameter added to "volume format" to specify the filesystem
   type to use. If not specified, default is to auto-detect.
 * Add support for formatting NTFS.
 * Use mke2fs to format when not creating containers.

Change-Id: I2bc0f92d59adb9604b35a1f70febccfba68715d3
cryptfs: also unmount /data/data before encrypting

galaxysmtd mounts /data/data on top on /data when unencrypted for
performance reason, so when encrypting, we need to unmount that
first before we can unmount /data.

On other devices, umount on a non-mounted folder will silently
succeed.

Change-Id: I07a73534fb3e253b702a4be6f976594644795e36
vold: don't crash when formatting card with no filesystem

Change-Id: I69c805e94e7ba217d99b6e7cd35e23649961001d
Build minivold for recovery

 * We can't link to the main recovery executable due to various issues,
   so just build a static minivold.

Change-Id: If110aa4fca9608d5c2a03f471773e7ce2c77dc91