Do not print misleading completion messages on trim failure

I/fstrim  (  124): Invoking FITRIM ioctl on /rom
E/fstrim  (  124): FITRIM ioctl failed on /rom
I/fstrim  (  124): Trimmed 18446744073709551615 bytes on /rom

Yeah, right!

Change-Id: I9996d15ced97da0ade576dfc9a059b2591504af1
vold: Format filesystems as exfat, if already exfat.

Change-Id: I1474fa3d3264e6466c2f74e91f16bd2515f50d06
Revenge of MiniVold (the sequel)

 * We'd like to utilize Vold's capabilities for performing various
   operations while in recovery mode.
 * Create a small, static library which can be linked into a single-call
   binary such as recovery.
 * Configurable helper paths.
 * Fixed various build warnings.

Change-Id: Ia4b929c2d7815d73f488ad406652f14b2a6aa4ce
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
Merge remote-tracking branch 'cm/cm-10.2' into HEAD