ueventd: Add bootdevice symlink

Create the /dev/block/bootdevice symlink to point to the
boot device information based on kernel command line.
This decouples references to the boot device from the
actual device nodes (e.g. eMMC, UFS).

Change-Id: If54b0b6ba6007742e9cb3d9d90cb3c86cd30b898
IMS-VT: Define IMS group.

Define IMS group.

CRs-Fixed: 615689

Conflicts:
	include/private/android_filesystem_config.h

Change-Id: Ie7fed3090a20db1e27a03d2d2cdde443d7ff5435
init: Allow platform devices directly under soc.0 *HACK*

Allow one level of platform device to be registered right
under the /sys/devices/soc.0 platform device.

Change-Id: I57c80c294a92f8b9ab91b3ee2f73bb156bb18945
init: Allow target-specific platform device base to be specified

Add optional build-time flag, TARGET_PLATFORM_DEVICE_BASE,
to specify the base sysfs path (without the /sys prefix)
where the platform device resides.  This provides support for
targets where platform devices are all under a master level
platform device (e.g. soc-bus).

Change-Id: I7b19b69f2c95335d6512e181f265b874e1713f64
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_system_core into kk44