Let minivold run in the recovery se domain

The vold secontext doesn't have enough permissions to allow formatting
volumes. CWM uses minivold directly for this purpose, so go ahead and
let it run in the recovery domain to give it all the permissions needed.

Change-Id: I2ca8e5895bd8cba5ffc9f0758264b3f0fbf38943
Touch: slot and tracking updates

Discard type A MT slots if type B MT tracking ID sent: Some devices send
an initial ABS_MT_SLOT event before switching to type B events, so
discard any type A state related to slot.

Track whether ABS_MT_TRACKING_ID was seen in the current sequence to
differentiate between vkeys and hardware keys.

Change-Id: I7ca3bfa4bd82d05ef7f7a208e954898b88bf3865
fix unnecessarily slow writing of EMMC partitions

These were attempts to write partitions "conservatively" in hopes of
fixing the problems with writing the radio partition on Nexus 4.  They
didn't work (a kernel patch was needed), but got left in.  They make
writing of partitions unnecessarily slow (ie, we really shouldn't need
to sync() after every 4kb).  Roll back most of them, but leave the
verification read-back in.

Change-Id: I94badc0979e88816c5aa0485f6316c02be69173c
Tell vold to use the fstype defined in fstab when formatting

If, for whatever reason, a voldmanaged volume had a different filesystem
than the one defined in the fstab, then this filesystem was kept when
formatting. Change the logic to use the filesystem defined in the fstab when
available.

Change-Id: Iffbb5dc42838c1585c21f3ffa66b16921a16abd5