init: implement a new 'log' command, useful to debug property events

liblog is not usable, because stderr and stdout are redirected to
/dev/null to control the android log output.

Only forked processes are able to write to the android logs...

Note: accept parameters: log [-t topic] [-p level] <message>
      limit : strings beginning with "--" are not handled

Change-Id: I2fbf7422e0085d4cdf1bba6511413d1f796d4555
init: Check for symlinks with lstat() not open()

Using open() with an O_NOFOLLOW flag will result in a file falsely
being determined to be a symlink if the open fails for another
reason.

For example, a character device that isn't ready due to the
underlying hardware not being initialized yet will fail to open()

An example of this are any CG2900 device files prior to
execution of ste-cg29xx_ctrl

This uses lstat() instead of open() with O_NOFOLLOW to check
whether a file is a symlink or not.

Change-Id: Ie0d8d94b426c84c29b1b04d41a4cc15536cb307c
init: Add a mechanism to extend the property service in device configs

Instead of every so often adding a new set of stuff here for a specific
device, let the device includes overload the property arrays. The
new device_perms.h header documents it

Change-Id: I477e27abebeb4b85abe5fcaf19333999b1625417

Conflicts:
	init/property_service.c
init: Allow device-specific appends to the property service permission structs

Extends device_perms.h API to allow property_perms and control_perms to be
appended on a device-specific basis, without needing to redefine the entire
struct contents.

Conflicts:
	init/property_service.c
Deprecate distinct boot paths for androidboot.emmc

Qualcomm used to require a "on emmc-fs" to distinguish multi-boot
devices, in replacement of the usual "on fs". This distinction has
been deprecated in jb, and it's breaking mako

Change-Id: I8ef5c932efcd5e7f8d6f6fce0915683d84c3ee11

Conflicts:
	init/Android.mk
	init/init.c
Init: Allow building of init that is compatible with second init boot

When using second init init has already set up /dev /proc, etc
this will prevent duplicate mount points for those
Define BOARD_USE_NO_DEVFS_SETUP := true to use

Change-Id: I5620664b32e08f39da7ef7c7f9c3824d01f930d6
Signed-off-by: dhacker29 <davidhackerdvm@gmail.com>

Conflicts:
	init/Android.mk