vold: use blkid to detect filesystem type

In preparation for handling ext4 partitions via vold and fuse.

Change-Id: Ibaccded63a7a293ad53f16afb80448ddd493554c
vold: add support for ext4 media

Depends on:
http://review.cyanogenmod.org/31202
http://review.cyanogenmod.org/31211

Result:
http://pastebin.com/nzUbvW7K

Change-Id: I5bd227e637f2a1ed4d13a2eb81390c56c953f482
vold: Handle disks with multiple major numbers

Squashed commits of the following:

commit 6a248052c43bd8c05b9485d8144f778e367a988e
Author:	Emilio López <turl@tuxfamily.org>
Date:   Nov 17, 2011 12:47 AM

    Reintroduce BOARD_VOLD_EMMC_SHARES_DEV_MAJOR

    Code taken from CM7's vold

commit e8caab58ea2992e884fddd4e310ecaf2bf489f37
Author: codeworkx <daniel.hillenbrand@codeworkx.de>
Date:   2012-01-04 16:49:50 +0100

    DirectVolume: handle discs with multiple major numbers

    CFlag: BOARD_VOLD_DISC_HAS_MULTIPLE_MAJORS

    Allows Direct Volume to handle discs with multiple major numbers.
    Needed on Samsung Galaxy S II and variants.

    For example:
    mmcblk0p1 - 179:0
    mmcblk0p2 - 179:1
    mmcblk0p3 - 179:2
    mmcblk0p4 - 256:0
    mmcblk0p5 - 256:1

commit eda64d531e882c46baf88d41a8d3a04874a795e6
Author: codeworkx <daniel.hillenbrand@codeworkx.de>
Date:   2012-04-19 10:50:22 +0200

    vold: fix handling of discs with multiple majors on DirectVolume::getShareDevice()

    The method DirectVolume::getShareDevice() returns an invalid device if the partition
    referenced by mPartIdx is bad. A bad partition is one where the major/minor numbers on
    disk don't match what is expected.

    The original major number is stored for bad partitions so the fix attempts to
    retrieve it and return it if applicable.

    This fix is one part of fixing ICS encryption on the i777 (and possibly other devices)
    where bad partitions may exist.

Conflicts:
	Android.mk

Change-Id: Ibdb05126144adb483c590dec425967362b8af91a
Vold: Clean up

 * Mout points in 4.4 are fuse-wrapped,
   so these do not need to be manually fuse-wrapped anymore

 * Also clean up makefile to allow LOCAL_CFLAGS to be included,
   and not overriden by -Werror

Signed-off-by: bmc08gt <brandon.mcansh@gmail.com>
vold: cryptfs: Don't update KDF without validating pwd/key.

Prior to this, the Key derivation function would get
 blindly updated even if the user entered the wrong password.
Now, we only attempt to upgrade the KDF if the pwd/key have
been verified (i.e. after a successful mount).

Bug: 11460197
Change-Id: I0469228cc9b87c47754e8ca3c7146651da177da5
merge in klp-release history after reset to klp-dev
vold: cryptfs: Don't update KDF without validating pwd/key.

Prior to this, the Key derivation function would get
 blindly updated even if the user entered the wrong password.
Now, we only attempt to upgrade the KDF if the pwd/key have
been verified (i.e. after a successful mount).

Bug: 11460197
Change-Id: I0469228cc9b87c47754e8ca3c7146651da177da5
Merge tag 'android-4.4_r1.2' into kitkat

Android 4.4 Release 1.2